Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Achou.Wang
4Gsim
提交
74d1f182
4
4Gsim
项目概览
Achou.Wang
/
4Gsim
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
4
4Gsim
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
74d1f182
编写于
8月 18, 2012
作者:
C
calin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
working on rrc
上级
c30faa90
变更
24
展开全部
隐藏空白更改
内联
并排
Showing
24 changed file
with
91992 addition
and
91245 deletion
+91992
-91245
examples/diameter/results/General-0.vci
examples/diameter/results/General-0.vci
+129
-129
src/applications/s1ap/36413-980.doc
src/applications/s1ap/36413-980.doc
+0
-0
src/applications/s1ap/S1AP.cc
src/applications/s1ap/S1AP.cc
+1
-0
src/applications/s1ap/message/S1APContainer.h
src/applications/s1ap/message/S1APContainer.h
+2
-2
src/linklayer/lte/rrc/25331-9b0.doc
src/linklayer/lte/rrc/25331-9b0.doc
+0
-0
src/linklayer/lte/rrc/RRC.cc
src/linklayer/lte/rrc/RRC.cc
+1
-1
src/linklayer/lte/rrc/message/Constant-definitions.asn
src/linklayer/lte/rrc/message/Constant-definitions.asn
+160
-0
src/linklayer/lte/rrc/message/InformationElements.asn
src/linklayer/lte/rrc/message/InformationElements.asn
+0
-0
src/linklayer/lte/rrc/message/RRCConstant.h
src/linklayer/lte/rrc/message/RRCConstant.h
+0
-175
src/linklayer/lte/rrc/message/RRCConstantDefinitions.cc
src/linklayer/lte/rrc/message/RRCConstantDefinitions.cc
+173
-0
src/linklayer/lte/rrc/message/RRCConstantDefinitions.h
src/linklayer/lte/rrc/message/RRCConstantDefinitions.h
+333
-0
src/linklayer/lte/rrc/message/RRCInformationElements.cc
src/linklayer/lte/rrc/message/RRCInformationElements.cc
+55042
-55042
src/linklayer/lte/rrc/message/RRCInformationElements.h
src/linklayer/lte/rrc/message/RRCInformationElements.h
+35834
-35833
src/linklayer/lte/rrc/message/RRCMessage.cc.bk
src/linklayer/lte/rrc/message/RRCMessage.cc.bk
+0
-0
src/linklayer/lte/rrc/message/RRCMessage.h.bk
src/linklayer/lte/rrc/message/RRCMessage.h.bk
+0
-0
src/linklayer/lte/rrc/message/RRCPdu.cc.bk
src/linklayer/lte/rrc/message/RRCPdu.cc.bk
+0
-0
src/linklayer/lte/rrc/message/RRCPdu.h.bk
src/linklayer/lte/rrc/message/RRCPdu.h.bk
+0
-0
src/linklayer/lte/rrc/message/test.asn
src/linklayer/lte/rrc/message/test.asn
+180
-5
src/linklayer/lte/rrc/~$331-9b0.doc
src/linklayer/lte/rrc/~$331-9b0.doc
+0
-0
src/util/asn/ASNTypes.cc
src/util/asn/ASNTypes.cc
+6
-1
src/util/asn/ASNTypes.h
src/util/asn/ASNTypes.h
+26
-7
src/util/asn/PerDecoder.cc
src/util/asn/PerDecoder.cc
+1
-1
src/util/asn/PerEncoder.cc
src/util/asn/PerEncoder.cc
+1
-1
src/util/asn/parser/asnparser.py
src/util/asn/parser/asnparser.py
+103
-48
未找到文件。
examples/diameter/results/General-0.vci
浏览文件 @
74d1f182
file 13724 134
4331863
version 2
run General-0-20120709-16:16:37-6492
attr configname General
attr datetime 20120709-16:16:37
attr experiment General
attr inifile omnetpp.ini
attr iterationvars ""
attr iterationvars2 $repetition=0
attr measurement ""
attr network Test
attr processid 6492
attr repetition 0
attr replication #0
attr resultdir results
attr runnumber 0
attr seedset 0
vector 4 Test.MME.eth[0].mac framesSent ETV
4 7520 541 27 678 1.000006719999 28.908845762154 22 1 22 253 3795
vector 6 Test.MME.eth[0].mac bytesSent ETV
6 8602 583 27 678 1.000006719999 28.908845762154 22 64 2116 24154 35499636
vector 20 Test.HSS.eth[0].mac framesSent ETV
20 10825 563 28 663 1.000006719999 28.908833442155 22 1 22 253 3795
vector 22 Test.HSS.eth[0].mac bytesSent ETV
22 11951 605 28 663 1.000006719999 28.908833442155 22 64 1956 22434 29915876
vector 21 Test.HSS.eth[0].mac framesReceivedOK ETV
21 11388 563 29 679 1.000006719999 28.908845762154 22 1 22 253 3795
vector 23 Test.HSS.eth[0].mac bytesReceivedOK ETV
23 12556 605 29 679 1.000006719999 28.908845762154 22 64 2116 24154 35499636
vector 27 Test.HSS.eth[0].mac framesPassedToHL ETV
27 13161 563 29 679 1.000006719999 28.908845762154 22 1 22 253 3795
vector 5 Test.MME.eth[0].mac framesReceivedOK ETV
5 8061 541 30 664 1.000006719999 28.908833442155 22 1 22 253 3795
vector 7 Test.MME.eth[0].mac bytesReceivedOK ETV
7 9185 583 30 664 1.000006719999 28.908833442155 22 64 1956 22434 29915876
vector 11 Test.MME.eth[0].mac framesPassedToHL ETV
11 9768 563 30 664 1.000006719999 28.908833442155 22 1 22 253 3795
vector 18 Test.HSS.eth[0].queue "queue length" ETV
18 10331 494 44 412 1.000006719999 1.000142239985 20 0 2 14 18
vector 2 Test.MME.eth[0].queue "queue length" ETV
2 7047 473 46 365 1.000006719999 1.000128639987 20 0 2 14 18
vector 70 Test.HSS.sctp "Slow Start Threshold 10:192.168.1.2" ETV
70 3655 54 141 471 1.000047199995 1.000155679983 2 0 65535 65535 4294836225
vector 71 Test.HSS.sctp "Congestion Window 10:192.168.1.2" ETV
71 3709 53 141 471 1.000047199995 1.000155679983 2 0 4380 4380 19184400
vector 74 Test.HSS.sctp "HB Sent 10:192.168.1.2" ETV
74 3927 25 141 141 1.000047199995 1.000047199995 1 1 1 1 1
vector 68 Test.HSS.sctp "RTO 10:192.168.1.2" ETV
68 3762 75 141 471 1.000047199995 1.000155679983 3 0 3 4 10
vector 59 Test.MME.sctp "Slow Start Threshold 9:192.168.1.1" ETV
59 4453 173 142 687 1.000047199995 34.000047199995 6 0 65535 327675 21474181125
vector 60 Test.MME.sctp "Congestion Window 9:192.168.1.1" ETV
60 4626 168 142 687 1.000047199995 34.000047199995 6 0 4380 21900 95922000
vector 63 Test.MME.sctp "HB Sent 9:192.168.1.1" ETV
63 5416 25 142 142 1.000047199995 1.000047199995 1 1 1 1 1
vector 57 Test.MME.sctp "RTO 9:192.168.1.1" ETV
57 4794 178 142 687 1.000047199995 34.000047199995 7 0 3 8 14
vector 42 Test.MME.sctp "HB ACK Sent 5:192.168.1.1" ETV
42 4378 25 183 183 1.000054079994 1.000054079994 1 1 1 1 1
vector 43 Test.MME.sctp "HB Received 5:192.168.1.1" ETV
43 4353 25 183 183 1.000054079994 1.000054079994 1 1 1 1 1
vector 53 Test.HSS.sctp "HB ACK Sent 8:192.168.1.2" ETV
53 6717 25 184 184 1.000054079994 1.000054079994 1 1 1 1 1
vector 54 Test.HSS.sctp "HB Received 8:192.168.1.2" ETV
54 6692 25 184 184 1.000054079994 1.000054079994 1 1 1 1 1
vector 37 Test.MME.sctp "Slow Start Threshold 5:192.168.1.1" ETV
37 4055 54 211 472 1.000060799993 1.000155679983 2 0 65535 65535 4294836225
vector 38 Test.MME.sctp "Congestion Window 5:192.168.1.1" ETV
38 4109 53 211 472 1.000060799993 1.000155679983 2 0 4380 4380 19184400
vector 41 Test.MME.sctp "HB Sent 5:192.168.1.1" ETV
41 4328 25 211 211 1.000060799993 1.000060799993 1 1 1 1 1
vector 35 Test.MME.sctp "RTO 5:192.168.1.1" ETV
35 4162 75 211 472 1.000060799993 1.000155679983 3 0 3 4 10
vector 48 Test.HSS.sctp "Slow Start Threshold 8:192.168.1.2" ETV
48 5763 174 212 687 1.000060799993 34.000047199995 6 0 65535 327675 21474181125
vector 49 Test.HSS.sctp "Congestion Window 8:192.168.1.2" ETV
49 5937 169 212 687 1.000060799993 34.000047199995 6 0 4380 21900 95922000
vector 52 Test.HSS.sctp "HB Sent 8:192.168.1.2" ETV
52 6667 25 212 212 1.000060799993 1.000060799993 1 1 1 1 1
vector 46 Test.HSS.sctp "RTO 8:192.168.1.2" ETV
46 6106 153 212 687 1.000060799993 34.000047199995 6 0 3 7 13
vector 86 Test.MME.sctp "SendQueue of Association 5" ETV
86 4428 25 218 218 1.000060799993 1.000060799993 1 0 0 0 0
vector 39 Test.MME.sctp "TSN Sent 5:192.168.1.1" ETV
39 4300 28 218 218 1.000060799993 1.000060799993 1 1000 1000 1000 1000000
vector 89 Test.HSS.sctp "SendQueue of Association 8" ETV
89 6945 102 220 636 1.000060799993 28.708826562156 4 0 0 0 0
vector 50 Test.HSS.sctp "TSN Sent 8:192.168.1.2" ETV
50 6439 114 220 636 1.000060799993 28.708826562156 4 1000 1003 4006 4012014
vector 66 Test.MME.sctp "HB ACK Received 9:192.168.1.1" ETV
66 5491 25 251 251 1.000067679992 1.000067679992 1 1 1 1 1
vector 58 Test.MME.sctp "RTT 9:192.168.1.1" ETV
58 4972 218 251 687 1.000067679992 34.000047199995 6 0 0.200019199998 0.600117439987 0.1200222751551
vector 77 Test.HSS.sctp "HB ACK Received 10:192.168.1.2" ETV
77 4002 25 252 252 1.000067679992 1.000067679992 1 1 1 1 1
vector 69 Test.HSS.sctp "RTT 10:192.168.1.2" ETV
69 3837 63 252 471 1.000067679992 1.000155679983 2 0 2.0479997e-0
5 2.0479997e-05 4.1943027712001e-10
vector 64 Test.MME.sctp "HB ACK Sent 9:192.168.1.1" ETV
64 5466 25 271 271 1.000074559991 1.000074559991 1 1 1 1 1
vector 65 Test.MME.sctp "HB Received 9:192.168.1.1" ETV
65 5441 25 271 271 1.000074559991 1.000074559991 1 1 1 1 1
vector 75 Test.HSS.sctp "HB ACK Sent 10:192.168.1.2" ETV
75 3977 25 272 272 1.000074559991 1.000074559991 1 1 1 1 1
vector 76 Test.HSS.sctp "HB Received 10:192.168.1.2" ETV
76 3952 25 272 272 1.000074559991 1.000074559991 1 1 1 1 1
vector 62 Test.MME.sctp "TSN Received 9:192.168.1.1" ETV
62 5303 113 299 650 1.00009423999 28.708838882155 4 1000 1003 4006 4012014
vector 32 Test.MME.sctp "Advertised Receiver Window 4" ETV
32 5516 146 299 669 1.00009423999 28.908838882155 5 65375 65535 327515 21453235525
vector 73 Test.HSS.sctp "TSN Received 10:192.168.1.2" ETV
73 3900 27 300 300 1.00009423999 1.00009423999 1 1000 1000 1000 1000000
vector 33 Test.HSS.sctp "Advertised Receiver Window 7" ETV
33 4027 28 300 300 1.00009423999 1.00009423999 1 65375 65375 65375 4273890625
vector 83 Test.MME.sctp "SendQueue of Association 9" ETV
83 5662 101 314 618 1.00009423999 28.708815202157 4 0 0 0 0
vector 61 Test.MME.sctp "TSN Sent 9:192.168.1.1" ETV
61 5190 113 314 618 1.00009423999 28.708815202157 4 2000 2003 8006 16024014
vector 44 Test.MME.sctp "HB ACK Received 5:192.168.1.1" ETV
44 4403 25 339 339 1.000101119989 1.000101119989 1 1 1 1 1
vector 36 Test.MME.sctp "RTT 5:192.168.1.1" ETV
36 4237 63 339 472 1.000101119989 1.000155679983 2 0 4.0319996e-0
5 4.0319996e-05 1.62570207744e-09
vector 55 Test.HSS.sctp "HB ACK Received 8:192.168.1.2" ETV
55 6742 25 340 340 1.000101119989 1.000101119989 1 1 1 1 1
vector 47 Test.HSS.sctp "RTT 8:192.168.1.2" ETV
47 6259 180 340 687 1.000101119989 34.000047199995 5 0 0.200019199998 0.60009695999 0.12002265869328
vector 51 Test.HSS.sctp "TSN Received 8:192.168.1.2" ETV
51 6553 114 372 632 1.000128639987 28.708826562156 4 2000 2003 8006 16024014
vector 45 Test.HSS.sctp "Advertised Receiver Window 8" ETV
45 6767 178 372 654 1.000128639987 28.908826562156 6 65363 65535 393038 25746502894
file 13724 134
5108319
version 2
run General-0-20120709-16:16:37-6492
attr configname General
attr datetime 20120709-16:16:37
attr experiment General
attr inifile omnetpp.ini
attr iterationvars ""
attr iterationvars2 $repetition=0
attr measurement ""
attr network Test
attr processid 6492
attr repetition 0
attr replication #0
attr resultdir results
attr runnumber 0
attr seedset 0
vector 4 Test.MME.eth[0].mac framesSent ETV
4 7520 541 27 678 1.000006719999 28.908845762154 22 1 22 253 3795
vector 6 Test.MME.eth[0].mac bytesSent ETV
6 8602 583 27 678 1.000006719999 28.908845762154 22 64 2116 24154 35499636
vector 20 Test.HSS.eth[0].mac framesSent ETV
20 10825 563 28 663 1.000006719999 28.908833442155 22 1 22 253 3795
vector 22 Test.HSS.eth[0].mac bytesSent ETV
22 11951 605 28 663 1.000006719999 28.908833442155 22 64 1956 22434 29915876
vector 21 Test.HSS.eth[0].mac framesReceivedOK ETV
21 11388 563 29 679 1.000006719999 28.908845762154 22 1 22 253 3795
vector 23 Test.HSS.eth[0].mac bytesReceivedOK ETV
23 12556 605 29 679 1.000006719999 28.908845762154 22 64 2116 24154 35499636
vector 27 Test.HSS.eth[0].mac framesPassedToHL ETV
27 13161 563 29 679 1.000006719999 28.908845762154 22 1 22 253 3795
vector 5 Test.MME.eth[0].mac framesReceivedOK ETV
5 8061 541 30 664 1.000006719999 28.908833442155 22 1 22 253 3795
vector 7 Test.MME.eth[0].mac bytesReceivedOK ETV
7 9185 583 30 664 1.000006719999 28.908833442155 22 64 1956 22434 29915876
vector 11 Test.MME.eth[0].mac framesPassedToHL ETV
11 9768 563 30 664 1.000006719999 28.908833442155 22 1 22 253 3795
vector 18 Test.HSS.eth[0].queue "queue length" ETV
18 10331 494 44 412 1.000006719999 1.000142239985 20 0 2 14 18
vector 2 Test.MME.eth[0].queue "queue length" ETV
2 7047 473 46 365 1.000006719999 1.000128639987 20 0 2 14 18
vector 70 Test.HSS.sctp "Slow Start Threshold 10:192.168.1.2" ETV
70 3655 54 141 471 1.000047199995 1.000155679983 2 0 65535 65535 4294836225
vector 71 Test.HSS.sctp "Congestion Window 10:192.168.1.2" ETV
71 3709 53 141 471 1.000047199995 1.000155679983 2 0 4380 4380 19184400
vector 74 Test.HSS.sctp "HB Sent 10:192.168.1.2" ETV
74 3927 25 141 141 1.000047199995 1.000047199995 1 1 1 1 1
vector 68 Test.HSS.sctp "RTO 10:192.168.1.2" ETV
68 3762 75 141 471 1.000047199995 1.000155679983 3 0 3 4 10
vector 59 Test.MME.sctp "Slow Start Threshold 9:192.168.1.1" ETV
59 4453 173 142 687 1.000047199995 34.000047199995 6 0 65535 327675 21474181125
vector 60 Test.MME.sctp "Congestion Window 9:192.168.1.1" ETV
60 4626 168 142 687 1.000047199995 34.000047199995 6 0 4380 21900 95922000
vector 63 Test.MME.sctp "HB Sent 9:192.168.1.1" ETV
63 5416 25 142 142 1.000047199995 1.000047199995 1 1 1 1 1
vector 57 Test.MME.sctp "RTO 9:192.168.1.1" ETV
57 4794 178 142 687 1.000047199995 34.000047199995 7 0 3 8 14
vector 42 Test.MME.sctp "HB ACK Sent 5:192.168.1.1" ETV
42 4378 25 183 183 1.000054079994 1.000054079994 1 1 1 1 1
vector 43 Test.MME.sctp "HB Received 5:192.168.1.1" ETV
43 4353 25 183 183 1.000054079994 1.000054079994 1 1 1 1 1
vector 53 Test.HSS.sctp "HB ACK Sent 8:192.168.1.2" ETV
53 6717 25 184 184 1.000054079994 1.000054079994 1 1 1 1 1
vector 54 Test.HSS.sctp "HB Received 8:192.168.1.2" ETV
54 6692 25 184 184 1.000054079994 1.000054079994 1 1 1 1 1
vector 37 Test.MME.sctp "Slow Start Threshold 5:192.168.1.1" ETV
37 4055 54 211 472 1.000060799993 1.000155679983 2 0 65535 65535 4294836225
vector 38 Test.MME.sctp "Congestion Window 5:192.168.1.1" ETV
38 4109 53 211 472 1.000060799993 1.000155679983 2 0 4380 4380 19184400
vector 41 Test.MME.sctp "HB Sent 5:192.168.1.1" ETV
41 4328 25 211 211 1.000060799993 1.000060799993 1 1 1 1 1
vector 35 Test.MME.sctp "RTO 5:192.168.1.1" ETV
35 4162 75 211 472 1.000060799993 1.000155679983 3 0 3 4 10
vector 48 Test.HSS.sctp "Slow Start Threshold 8:192.168.1.2" ETV
48 5763 174 212 687 1.000060799993 34.000047199995 6 0 65535 327675 21474181125
vector 49 Test.HSS.sctp "Congestion Window 8:192.168.1.2" ETV
49 5937 169 212 687 1.000060799993 34.000047199995 6 0 4380 21900 95922000
vector 52 Test.HSS.sctp "HB Sent 8:192.168.1.2" ETV
52 6667 25 212 212 1.000060799993 1.000060799993 1 1 1 1 1
vector 46 Test.HSS.sctp "RTO 8:192.168.1.2" ETV
46 6106 153 212 687 1.000060799993 34.000047199995 6 0 3 7 13
vector 86 Test.MME.sctp "SendQueue of Association 5" ETV
86 4428 25 218 218 1.000060799993 1.000060799993 1 0 0 0 0
vector 39 Test.MME.sctp "TSN Sent 5:192.168.1.1" ETV
39 4300 28 218 218 1.000060799993 1.000060799993 1 1000 1000 1000 1000000
vector 89 Test.HSS.sctp "SendQueue of Association 8" ETV
89 6945 102 220 636 1.000060799993 28.708826562156 4 0 0 0 0
vector 50 Test.HSS.sctp "TSN Sent 8:192.168.1.2" ETV
50 6439 114 220 636 1.000060799993 28.708826562156 4 1000 1003 4006 4012014
vector 66 Test.MME.sctp "HB ACK Received 9:192.168.1.1" ETV
66 5491 25 251 251 1.000067679992 1.000067679992 1 1 1 1 1
vector 58 Test.MME.sctp "RTT 9:192.168.1.1" ETV
58 4972 218 251 687 1.000067679992 34.000047199995 6 0 0.200019199998 0.600117439987 0.1200222751551
vector 77 Test.HSS.sctp "HB ACK Received 10:192.168.1.2" ETV
77 4002 25 252 252 1.000067679992 1.000067679992 1 1 1 1 1
vector 69 Test.HSS.sctp "RTT 10:192.168.1.2" ETV
69 3837 63 252 471 1.000067679992 1.000155679983 2 0 2.0479997e-0
05 2.0479997e-005 4.1943027712001e-010
vector 64 Test.MME.sctp "HB ACK Sent 9:192.168.1.1" ETV
64 5466 25 271 271 1.000074559991 1.000074559991 1 1 1 1 1
vector 65 Test.MME.sctp "HB Received 9:192.168.1.1" ETV
65 5441 25 271 271 1.000074559991 1.000074559991 1 1 1 1 1
vector 75 Test.HSS.sctp "HB ACK Sent 10:192.168.1.2" ETV
75 3977 25 272 272 1.000074559991 1.000074559991 1 1 1 1 1
vector 76 Test.HSS.sctp "HB Received 10:192.168.1.2" ETV
76 3952 25 272 272 1.000074559991 1.000074559991 1 1 1 1 1
vector 62 Test.MME.sctp "TSN Received 9:192.168.1.1" ETV
62 5303 113 299 650 1.00009423999 28.708838882155 4 1000 1003 4006 4012014
vector 32 Test.MME.sctp "Advertised Receiver Window 4" ETV
32 5516 146 299 669 1.00009423999 28.908838882155 5 65375 65535 327515 21453235525
vector 73 Test.HSS.sctp "TSN Received 10:192.168.1.2" ETV
73 3900 27 300 300 1.00009423999 1.00009423999 1 1000 1000 1000 1000000
vector 33 Test.HSS.sctp "Advertised Receiver Window 7" ETV
33 4027 28 300 300 1.00009423999 1.00009423999 1 65375 65375 65375 4273890625
vector 83 Test.MME.sctp "SendQueue of Association 9" ETV
83 5662 101 314 618 1.00009423999 28.708815202157 4 0 0 0 0
vector 61 Test.MME.sctp "TSN Sent 9:192.168.1.1" ETV
61 5190 113 314 618 1.00009423999 28.708815202157 4 2000 2003 8006 16024014
vector 44 Test.MME.sctp "HB ACK Received 5:192.168.1.1" ETV
44 4403 25 339 339 1.000101119989 1.000101119989 1 1 1 1 1
vector 36 Test.MME.sctp "RTT 5:192.168.1.1" ETV
36 4237 63 339 472 1.000101119989 1.000155679983 2 0 4.0319996e-0
05 4.0319996e-005 1.62570207744e-009
vector 55 Test.HSS.sctp "HB ACK Received 8:192.168.1.2" ETV
55 6742 25 340 340 1.000101119989 1.000101119989 1 1 1 1 1
vector 47 Test.HSS.sctp "RTT 8:192.168.1.2" ETV
47 6259 180 340 687 1.000101119989 34.000047199995 5 0 0.200019199998 0.60009695999 0.12002265869328
vector 51 Test.HSS.sctp "TSN Received 8:192.168.1.2" ETV
51 6553 114 372 632 1.000128639987 28.708826562156 4 2000 2003 8006 16024014
vector 45 Test.HSS.sctp "Advertised Receiver Window 8" ETV
45 6767 178 372 654 1.000128639987 28.908826562156 6 65363 65535 393038 25746502894
src/applications/s1ap/36413-980.doc
0 → 100644
浏览文件 @
74d1f182
文件已添加
src/applications/s1ap/S1AP.cc
浏览文件 @
74d1f182
...
...
@@ -35,6 +35,7 @@ S1AP::S1AP() {
relMmeCapac
=
5
;
sendQueue
.
setName
(
"sendQueue"
);
retryTimer
=
new
cMessage
(
"Retry-Timer"
);
}
S1AP
::~
S1AP
()
{
...
...
src/applications/s1ap/message/S1APContainer.h
浏览文件 @
74d1f182
...
...
@@ -38,12 +38,12 @@ public:
typedef
ProtocolIeField
ProtocolIeSingleContainer
;
typedef
SequenceOf
<
ProtocolIeField
,
CONSTRAINED
,
0
,
maxProtocolIEs
>
ProtocolIeContainer
;
typedef
SequenceOf
<
ProtocolIeField
,
SizeConstraint
<
CONSTRAINED
,
0
,
maxProtocolIEs
>
>
ProtocolIeContainer
;
OpenType
*
findValue
(
ProtocolIeContainer
*
container
,
unsigned
short
id
);
typedef
ProtocolIeField
ProtocolExtField
;
typedef
SequenceOf
<
ProtocolExtField
,
CONSTRAINED
,
0
,
maxProtocolIEs
>
ProtocolExtContainer
;
typedef
SequenceOf
<
ProtocolExtField
,
SizeConstraint
<
CONSTRAINED
,
0
,
maxProtocolIEs
>
>
ProtocolExtContainer
;
#endif
/* S1APCONTAINER_H_ */
src/linklayer/lte/rrc/25331-9b0.doc
0 → 100644
浏览文件 @
74d1f182
文件已添加
src/linklayer/lte/rrc/RRC.cc
浏览文件 @
74d1f182
...
...
@@ -16,7 +16,7 @@
//
#include "RRC.h"
#include "RRCMessage.h"
//
#include "RRCMessage.h"
#include "PerEncoder.h"
#include "LTEUtils.h"
...
...
src/linklayer/lte/rrc/message/Constant-definitions.asn
0 → 100644
浏览文件 @
74d1f182
Constant-definitions DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
hiPDSCHidentities INTEGER ::= 64
hiPUSCHidentities INTEGER ::= 64
hiRM INTEGER ::= 256
maxAC INTEGER ::= 16
maxAdditionalMeas INTEGER ::= 4
maxASC INTEGER ::= 8
maxASCmap INTEGER ::= 7
maxASCpersist INTEGER ::= 6
maxCCTrCH INTEGER ::= 8
maxCellMeas INTEGER ::= 32
maxCellMeasOnSecULFreq INTEGER ::= 32
maxCellMeas-1 INTEGER ::= 31
maxCellMeasOnSecULFreq-1 INTEGER ::= 31
maxCNdomains INTEGER ::= 4
maxCommonHRNTI INTEGER ::= 4
maxCommonQueueID INTEGER ::= 2
maxCPCHsets INTEGER ::= 16
maxDedicatedCSGFreq INTEGER ::= 4
maxDPCH-DLchan INTEGER ::= 8
maxDPDCH-UL INTEGER ::= 6
maxDRACclasses INTEGER ::= 8
maxE-DCHMACdFlow INTEGER ::= 8
maxE-DCHMACdFlow-1 INTEGER ::= 7
maxEUTRACellPerFreq INTEGER ::= 16
maxEUTRATargetFreqs INTEGER ::= 8
maxEDCHRL INTEGER ::= 4
maxEDCHRL-1 INTEGER ::= 3
maxEDCHs INTEGER ::= 32
maxEDCHTxPattern-TDD128 INTEGER ::= 4 -- maxEDCHTxPattern-TDD128 should be 3
maxEDCHTxPattern-TDD128-1 INTEGER ::= 3 -- maxEDCHTxPattern-TDD128-1 should be 2
maxERNTIgroup INTEGER ::= 32
maxERNTIperGroup INTEGER ::= 2
maxERUCCH INTEGER ::= 256
maxFACHPCH INTEGER ::= 8
maxFreq INTEGER ::= 8
maxFreqBandsEUTRA INTEGER ::= 16
maxFreqBandsFDD INTEGER ::= 8
maxFreqBandsFDD-ext INTEGER ::= 15 -- maxFreqBandsFDD-ext ::= 22 - (maxFreqBandsFDD - 1)
maxFreqBandsTDD INTEGER ::= 4
maxFreqBandsTDD-ext INTEGER ::= 16
maxFreqBandsGSM INTEGER ::= 16
maxGANSS INTEGER ::= 8
maxGANSS-1 INTEGER ::= 7
maxGANSSSat INTEGER ::= 64
maxGANSSSat-1 INTEGER ::= 63
maxGERAN-SI INTEGER ::= 8
maxGSMTargetCells INTEGER ::= 32
maxHNBNameSize INTEGER ::= 48
maxHProcesses INTEGER ::= 8
maxHS-SCCHLessTrBlk INTEGER ::= 4
maxHSDSCHTBIndex INTEGER ::= 64
maxHSDSCHTBIndex-tdd384 INTEGER ::= 512
maxHSSCCHs INTEGER ::= 4
maxHSSCCHs-1 INTEGER ::= 3
maxHSSICH-TDD128 INTEGER ::= 4
maxHSSICH-TDD128-1 INTEGER ::= 3
maxInterSysMessages INTEGER ::= 4
maxLoCHperRLC INTEGER ::= 2
maxMAC-d-PDUsizes INTEGER ::= 8
maxMBMS-CommonCCTrCh INTEGER ::= 32
maxMBMS-CommonPhyCh INTEGER ::= 32
maxMBMS-CommonRB INTEGER ::= 32
maxMBMS-CommonTrCh INTEGER ::= 32
maxMBMS-Freq INTEGER ::= 4
maxMBMS-L1CP INTEGER ::= 4
maxMBMSservCount INTEGER ::= 8
maxMBMSservModif INTEGER ::= 32
maxMBMSservSched INTEGER ::= 16
maxMBMSservSelect INTEGER ::= 8
maxMBMSservUnmodif INTEGER ::= 64
maxMBMSTransmis INTEGER ::= 4
maxMBSFNClusters INTEGER ::= 16
maxMeasCSGRange INTEGER ::= 4
maxMeasEvent INTEGER ::= 8
maxMeasEventOnSecULFreq INTEGER ::= 8
maxMeasIntervals INTEGER ::= 3
maxMeasOccasionPattern INTEGER ::= 5
maxMeasOccasionPattern-1 INTEGER ::= 4
maxMeasParEvent INTEGER ::= 2
maxNumCDMA2000Freqs INTEGER ::= 8
maxNumE-AGCH INTEGER ::= 4
maxNumE-HICH INTEGER ::= 4
maxNumEUTRAFreqs INTEGER ::= 8
maxNumGSMCellGroup INTEGER ::= 16
maxNumGSMFreqRanges INTEGER ::= 32
maxNumFDDFreqs INTEGER ::= 8
maxNumTDDFreqs INTEGER ::= 8
maxNoOfMeas INTEGER ::= 16
maxOtherRAT INTEGER ::= 15
maxOtherRAT-16 INTEGER ::= 16
maxPage1 INTEGER ::= 8
maxPCPCH-APsig INTEGER ::= 16
maxPCPCH-APsubCh INTEGER ::= 12
maxPCPCH-CDsig INTEGER ::= 16
maxPCPCH-CDsubCh INTEGER ::= 12
maxPCPCH-SF INTEGER ::= 7
maxPCPCHs INTEGER ::= 64
maxPDCPAlgoType INTEGER ::= 8
maxPDSCH INTEGER ::= 8
maxPDSCH-TFCIgroups INTEGER ::= 256
maxPRACH INTEGER ::= 16
maxPRACH-FPACH INTEGER ::= 8
maxPredefConfig INTEGER ::= 16
maxPrio INTEGER ::= 8
maxPrio-1 INTEGER ::= 7
maxPUSCH INTEGER ::= 8
maxQueueIDs INTEGER ::= 8
maxRABsetup INTEGER ::= 16
maxRAT INTEGER ::= 16
maxRB INTEGER ::= 32
maxRBallRABs INTEGER ::= 27
maxRBMuxOptions INTEGER ::= 8
maxRBperRAB INTEGER ::= 8
maxRBperTrCh INTEGER ::= 16
maxReportedEUTRACellPerFreq INTEGER ::= 4
maxReportedEUTRAFreqs INTEGER ::= 4
maxReportedGSMCells INTEGER ::= 8
maxRL INTEGER ::= 8
maxRL-1 INTEGER ::= 7
maxRLCPDUsizePerLogChan INTEGER ::= 32
maxRFC3095-CID INTEGER ::= 16384
maxROHC-PacketSizes-r4 INTEGER ::= 16
maxROHC-Profile-r4 INTEGER ::= 8
maxRxPatternForHSDSCH-TDD128 INTEGER ::= 4 -- maxRxPatternForHSDSCH-TDD128 should be 3
maxRxPatternForHSDSCH-TDD128-1 INTEGER ::= 3 -- maxRxPatternForHSDSCH-TDD128-1 should be 2
maxSat INTEGER ::= 16
maxSatClockModels INTEGER ::= 4
maxSCCPCH INTEGER ::= 16
maxSgnType INTEGER ::= 8
maxSIB INTEGER ::= 32
maxSIB-FACH INTEGER ::= 8
maxSIBperMsg INTEGER ::= 16
maxSIrequest INTEGER ::= 4
maxSRBsetup INTEGER ::= 8
maxSystemCapability INTEGER ::= 16
maxTDD128Carrier INTEGER ::= 6
maxTbsForHSDSCH-TDD128 INTEGER ::= 4
maxTbsForHSDSCH-TDD128-1 INTEGER ::= 3
maxTF INTEGER ::= 32
maxTF-CPCH INTEGER ::= 16
maxTFC INTEGER ::= 1024
maxTFCsub INTEGER ::= 1024
maxTFCI-2-Combs INTEGER ::= 512
maxTGPS INTEGER ::= 6
maxTrCH INTEGER ::= 32
-- maxTrCHpreconf should be 16 but has been set to 32 for compatibility
maxTrCHpreconf INTEGER ::= 32
maxTS INTEGER ::= 14
maxTS-1 INTEGER ::= 13
maxTS-2 INTEGER ::= 12
maxTS-LCR INTEGER ::= 6
maxTS-LCR-1 INTEGER ::= 5
maxURA INTEGER ::= 8
maxURNTI-Group INTEGER ::= 8
END
src/linklayer/lte/rrc/message/
RRCIe
.asn
→
src/linklayer/lte/rrc/message/
InformationElements
.asn
浏览文件 @
74d1f182
文件已移动
src/linklayer/lte/rrc/message/RRCConstant.h
已删除
100644 → 0
浏览文件 @
c30faa90
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#ifndef RRCCONSTANT_H_
#define RRCCONSTANT_H_
#define hiPDSCHidentities 64
#define hiPUSCHidentities 64
#define hiRM 256
#define maxAC 16
#define maxAdditionalMeas 4
#define maxASC 8
#define maxASCmap 7
#define maxASCpersist 6
#define maxCCTrCH 8
#define maxCellMeas 32
#define maxCellMeasOnSecULFreq 32
#define maxCellMeas_1 31
#define maxCellMeasOnSecULFreq_1 31
#define maxCNdomains 4
#define maxCommonHRNTI 4
#define maxCommonQueueID 2
#define maxCPCHsets 16
#define maxDedicatedCSGFreq 4
#define maxDPCH_DLchan 8
#define maxDPDCH_UL 6
#define maxDRACclasses 8
#define maxE_DCHMACdFlow 8
#define maxE_DCHMACdFlow_1 7
#define maxEUTRACellPerFreq 16
#define maxEUTRATargetFreqs 8
#define maxEDCHRL 4
#define maxEDCHRL_1 3
#define maxEDCHs 32
#define maxEDCHTxPattern_TDD128 4
#define maxEDCHTxPattern_TDD128_1 3
#define maxERNTIgroup 32
#define maxERNTIperGroup 2
#define maxERUCCH 256
#define maxFACHPCH 8
#define maxFreq 8
#define maxFreqBandsEUTRA 16
#define maxFreqBandsFDD 8
#define maxFreqBandsFDD_ext 15
#define maxFreqBandsTDD 4
#define maxFreqBandsTDD_ext 16
#define maxFreqBandsGSM 16
#define maxGANSS 8
#define maxGANSS_1 7
#define maxGANSSSat 64
#define maxGANSSSat_1 63
#define maxGERAN_SI 8
#define maxGSMTargetCells 32
#define maxHNBNameSize 48
#define maxHProcesses 8
#define maxHS_SCCHLessTrBlk 4
#define maxHSDSCHTBIndex 64
#define maxHSDSCHTBIndex_tdd384 512
#define maxHSSCCHs 4
#define maxHSSCCHs_1 3
#define maxHSSICH_TDD128 4
#define maxHSSICH_TDD128_1 3
#define maxInterSysMessages 4
#define maxLoCHperRLC 2
#define maxMAC_d_PDUsizes 8
#define maxMBMS_CommonCCTrCh 32
#define maxMBMS_CommonPhyCh 32
#define maxMBMS_CommonRB 32
#define maxMBMS_CommonTrCh 32
#define maxMBMS_Freq 4
#define maxMBMS_L1CP 4
#define maxMBMSservCount 8
#define maxMBMSservModif 32
#define maxMBMSservSched 16
#define maxMBMSservSelect 8
#define maxMBMSservUnmodif 64
#define maxMBMSTransmis 4
#define maxMBSFNClusters 16
#define maxMeasCSGRange 4
#define maxMeasEvent 8
#define maxMeasEventOnSecULFreq 8
#define maxMeasIntervals 3
#define maxMeasOccasionPattern 5
#define maxMeasOccasionPattern_1 4
#define maxMeasParEvent 2
#define maxNumCDMA2000Freqs 8
#define maxNumE_AGCH 4
#define maxNumE_HICH 4
#define maxNumEUTRAFreqs 8
#define maxNumGSMCellGroup 16
#define maxNumGSMFreqRanges 32
#define maxNumFDDFreqs 8
#define maxNumTDDFreqs 8
#define maxNoOfMeas 16
#define maxOtherRAT 15
#define maxOtherRAT_16 16
#define maxPage1 8
#define maxPCPCH_APsig 16
#define maxPCPCH_APsubCh 12
#define maxPCPCH_CDsig 16
#define maxPCPCH_CDsubCh 12
#define maxPCPCH_SF 7
#define maxPCPCHs 64
#define maxPDCPAlgoType 8
#define maxPDSCH 8
#define maxPDSCH_TFCIgroups 256
#define maxPRACH 16
#define maxPRACH_FPACH 8
#define maxPredefConfig 16
#define maxPrio 8
#define maxPrio_1 7
#define maxPUSCH 8
#define maxQueueIDs 8
#define maxRABsetup 16
#define maxRAT 16
#define maxRB 32
#define maxRBallRABs 27
#define maxRBMuxOptions 8
#define maxRBperRAB 8
#define maxRBperTrCh 16
#define maxReportedEUTRACellPerFreq 4
#define maxReportedEUTRAFreqs 4
#define maxReportedGSMCells 8
#define maxRL 8
#define maxRL_1 7
#define maxRLCPDUsizePerLogChan 32
#define maxRFC3095_CID 16384
#define maxROHC_PacketSizes_r4 16
#define maxROHC_Profile_r4 8
#define maxRxPatternForHSDSCH_TDD128 4
#define maxRxPatternForHSDSCH_TDD128_1 3
#define maxSat 16
#define maxSatClockModels 4
#define maxSCCPCH 16
#define maxSgnType 8
#define maxSIB 32
#define maxSIB_FACH 8
#define maxSIBperMsg 16
#define maxSIrequest 4
#define maxSRBsetup 8
#define maxSystemCapability 16
#define maxTDD128Carrier 6
#define maxTbsForHSDSCH_TDD128 4
#define maxTbsForHSDSCH_TDD128_1 3
#define maxTF 32
#define maxTF_CPCH 16
#define maxTFC 1024
#define maxTFCsub 1024
#define maxTFCI_2_Combs 512
#define maxTGPS 6
#define maxTrCH 32
#define maxTrCHpreconf 32
#define maxTS 14
#define maxTS_1 13
#define maxTS_2 12
#define maxTS_LCR 6
#define maxTS_LCR_1 5
#define maxURA 8
#define maxURNTI_Group 8
#endif
/* RRCCONSTANT_H_ */
src/linklayer/lte/rrc/message/RRCConstantDefinitions.cc
0 → 100644
浏览文件 @
74d1f182
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#include "RRCConstantDefinitions.h"
const
IntegerBase
maxCNdomains
(
4
);
src/linklayer/lte/rrc/message/RRCConstantDefinitions.h
0 → 100644
浏览文件 @
74d1f182
//
// Copyright (C) 2012 Calin Cerchez
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#ifndef RRCCONSTANTDEFINITIONS_H_
#define RRCCONSTANTDEFINITIONS_H_
#include "ASNTypes.h"
const
IntegerBase
hiPDSCHidentities
(
64
);
const
IntegerBase
hiPUSCHidentities
(
64
);
const
IntegerBase
hiRM
(
256
);
const
IntegerBase
maxAC
(
16
);
const
IntegerBase
maxAdditionalMeas
(
4
);
const
IntegerBase
maxASC
(
8
);
const
IntegerBase
maxASCmap
(
7
);
const
IntegerBase
maxASCpersist
(
6
);
const
IntegerBase
maxCCTrCH
(
8
);
const
IntegerBase
maxCellMeas
(
32
);
const
IntegerBase
maxCellMeasOnSecULFreq
(
32
);
const
IntegerBase
maxCellMeas_1
(
31
);
const
IntegerBase
maxCellMeasOnSecULFreq_1
(
31
);
extern
const
IntegerBase
maxCNdomains
;
const
IntegerBase
maxCommonHRNTI
(
4
);
const
IntegerBase
maxCommonQueueID
(
2
);
const
IntegerBase
maxCPCHsets
(
16
);
const
IntegerBase
maxDedicatedCSGFreq
(
4
);
const
IntegerBase
maxDPCH_DLchan
(
8
);
const
IntegerBase
maxDPDCH_UL
(
6
);
const
IntegerBase
maxDRACclasses
(
8
);
const
IntegerBase
maxE_DCHMACdFlow
(
8
);
const
IntegerBase
maxE_DCHMACdFlow_1
(
7
);
const
IntegerBase
maxEUTRACellPerFreq
(
16
);
const
IntegerBase
maxEUTRATargetFreqs
(
8
);
const
IntegerBase
maxEDCHRL
(
4
);
const
IntegerBase
maxEDCHRL_1
(
3
);
const
IntegerBase
maxEDCHs
(
32
);
const
IntegerBase
maxEDCHTxPattern_TDD128
(
4
);
const
IntegerBase
maxEDCHTxPattern_TDD128_1
(
3
);
const
IntegerBase
maxERNTIgroup
(
32
);
const
IntegerBase
maxERNTIperGroup
(
2
);
const
IntegerBase
maxERUCCH
(
256
);
const
IntegerBase
maxFACHPCH
(
8
);
const
IntegerBase
maxFreq
(
8
);
const
IntegerBase
maxFreqBandsEUTRA
(
16
);
const
IntegerBase
maxFreqBandsFDD
(
8
);
const
IntegerBase
maxFreqBandsFDD_ext
(
15
);
const
IntegerBase
maxFreqBandsTDD
(
4
);
const
IntegerBase
maxFreqBandsTDD_ext
(
16
);
const
IntegerBase
maxFreqBandsGSM
(
16
);
const
IntegerBase
maxGANSS
(
8
);
const
IntegerBase
maxGANSS_1
(
7
);
const
IntegerBase
maxGANSSSat
(
64
);
const
IntegerBase
maxGANSSSat_1
(
63
);
const
IntegerBase
maxGERAN_SI
(
8
);
const
IntegerBase
maxGSMTargetCells
(
32
);
const
IntegerBase
maxHNBNameSize
(
48
);
const
IntegerBase
maxHProcesses
(
8
);
const
IntegerBase
maxHS_SCCHLessTrBlk
(
4
);
const
IntegerBase
maxHSDSCHTBIndex
(
64
);
const
IntegerBase
maxHSDSCHTBIndex_tdd384
(
512
);
const
IntegerBase
maxHSSCCHs
(
4
);
const
IntegerBase
maxHSSCCHs_1
(
3
);
const
IntegerBase
maxHSSICH_TDD128
(
4
);
const
IntegerBase
maxHSSICH_TDD128_1
(
3
);
const
IntegerBase
maxInterSysMessages
(
4
);
const
IntegerBase
maxLoCHperRLC
(
2
);
const
IntegerBase
maxMAC_d_PDUsizes
(
8
);
const
IntegerBase
maxMBMS_CommonCCTrCh
(
32
);
const
IntegerBase
maxMBMS_CommonPhyCh
(
32
);
const
IntegerBase
maxMBMS_CommonRB
(
32
);
const
IntegerBase
maxMBMS_CommonTrCh
(
32
);
const
IntegerBase
maxMBMS_Freq
(
4
);
const
IntegerBase
maxMBMS_L1CP
(
4
);
const
IntegerBase
maxMBMSservCount
(
8
);
const
IntegerBase
maxMBMSservModif
(
32
);
const
IntegerBase
maxMBMSservSched
(
16
);
const
IntegerBase
maxMBMSservSelect
(
8
);
const
IntegerBase
maxMBMSservUnmodif
(
64
);
const
IntegerBase
maxMBMSTransmis
(
4
);
const
IntegerBase
maxMBSFNClusters
(
16
);
const
IntegerBase
maxMeasCSGRange
(
4
);
const
IntegerBase
maxMeasEvent
(
8
);
const
IntegerBase
maxMeasEventOnSecULFreq
(
8
);
const
IntegerBase
maxMeasIntervals
(
3
);
const
IntegerBase
maxMeasOccasionPattern
(
5
);
const
IntegerBase
maxMeasOccasionPattern_1
(
4
);
const
IntegerBase
maxMeasParEvent
(
2
);
const
IntegerBase
maxNumCDMA2000Freqs
(
8
);
const
IntegerBase
maxNumE_AGCH
(
4
);
const
IntegerBase
maxNumE_HICH
(
4
);
const
IntegerBase
maxNumEUTRAFreqs
(
8
);
const
IntegerBase
maxNumGSMCellGroup
(
16
);
const
IntegerBase
maxNumGSMFreqRanges
(
32
);
const
IntegerBase
maxNumFDDFreqs
(
8
);
const
IntegerBase
maxNumTDDFreqs
(
8
);
const
IntegerBase
maxNoOfMeas
(
16
);
const
IntegerBase
maxOtherRAT
(
15
);
const
IntegerBase
maxOtherRAT_16
(
16
);
const
IntegerBase
maxPage1
(
8
);
const
IntegerBase
maxPCPCH_APsig
(
16
);
const
IntegerBase
maxPCPCH_APsubCh
(
12
);
const
IntegerBase
maxPCPCH_CDsig
(
16
);
const
IntegerBase
maxPCPCH_CDsubCh
(
12
);
const
IntegerBase
maxPCPCH_SF
(
7
);
const
IntegerBase
maxPCPCHs
(
64
);
const
IntegerBase
maxPDCPAlgoType
(
8
);
const
IntegerBase
maxPDSCH
(
8
);
const
IntegerBase
maxPDSCH_TFCIgroups
(
256
);
const
IntegerBase
maxPRACH
(
16
);
const
IntegerBase
maxPRACH_FPACH
(
8
);
const
IntegerBase
maxPredefConfig
(
16
);
const
IntegerBase
maxPrio
(
8
);
const
IntegerBase
maxPrio_1
(
7
);
const
IntegerBase
maxPUSCH
(
8
);
const
IntegerBase
maxQueueIDs
(
8
);
const
IntegerBase
maxRABsetup
(
16
);
const
IntegerBase
maxRAT
(
16
);
const
IntegerBase
maxRB
(
32
);
const
IntegerBase
maxRBallRABs
(
27
);
const
IntegerBase
maxRBMuxOptions
(
8
);
const
IntegerBase
maxRBperRAB
(
8
);
const
IntegerBase
maxRBperTrCh
(
16
);
const
IntegerBase
maxReportedEUTRACellPerFreq
(
4
);
const
IntegerBase
maxReportedEUTRAFreqs
(
4
);
const
IntegerBase
maxReportedGSMCells
(
8
);
const
IntegerBase
maxRL
(
8
);
const
IntegerBase
maxRL_1
(
7
);
const
IntegerBase
maxRLCPDUsizePerLogChan
(
32
);
const
IntegerBase
maxRFC3095_CID
(
16384
);
const
IntegerBase
maxROHC_PacketSizes_r4
(
16
);
const
IntegerBase
maxROHC_Profile_r4
(
8
);
const
IntegerBase
maxRxPatternForHSDSCH_TDD128
(
4
);
const
IntegerBase
maxRxPatternForHSDSCH_TDD128_1
(
3
);
const
IntegerBase
maxSat
(
16
);
const
IntegerBase
maxSatClockModels
(
4
);
const
IntegerBase
maxSCCPCH
(
16
);
const
IntegerBase
maxSgnType
(
8
);
const
IntegerBase
maxSIB
(
32
);
const
IntegerBase
maxSIB_FACH
(
8
);
const
IntegerBase
maxSIBperMsg
(
16
);
const
IntegerBase
maxSIrequest
(
4
);
const
IntegerBase
maxSRBsetup
(
8
);
const
IntegerBase
maxSystemCapability
(
16
);
const
IntegerBase
maxTDD128Carrier
(
6
);
const
IntegerBase
maxTbsForHSDSCH_TDD128
(
4
);
const
IntegerBase
maxTbsForHSDSCH_TDD128_1
(
3
);
const
IntegerBase
maxTF
(
32
);
const
IntegerBase
maxTF_CPCH
(
16
);
const
IntegerBase
maxTFC
(
1024
);
const
IntegerBase
maxTFCsub
(
1024
);
const
IntegerBase
maxTFCI_2_Combs
(
512
);
const
IntegerBase
maxTGPS
(
6
);
const
IntegerBase
maxTrCH
(
32
);
const
IntegerBase
maxTrCHpreconf
(
32
);
const
IntegerBase
maxTS
(
14
);
const
IntegerBase
maxTS_1
(
13
);
const
IntegerBase
maxTS_2
(
12
);
const
IntegerBase
maxTS_LCR
(
6
);
const
IntegerBase
maxTS_LCR_1
(
5
);
const
IntegerBase
maxURA
(
8
);
const
IntegerBase
maxURNTI_Group
(
8
);
//typedef SequenceOf<CNDomainInformationFull, CONSTRAINED, 1, maxCNdomains> CNDomainInformationListFull;
#endif
/* RRCCONSTANTDEFINITIONS_H_ */
src/linklayer/lte/rrc/message/RRCI
e
.cc
→
src/linklayer/lte/rrc/message/RRCI
nformationElements
.cc
浏览文件 @
74d1f182
此差异已折叠。
点击以展开。
src/linklayer/lte/rrc/message/RRCI
e
.h
→
src/linklayer/lte/rrc/message/RRCI
nformationElements
.h
浏览文件 @
74d1f182
此差异已折叠。
点击以展开。
src/linklayer/lte/rrc/message/RRCMessage.cc
→
src/linklayer/lte/rrc/message/RRCMessage.cc
.bk
浏览文件 @
74d1f182
文件已移动
src/linklayer/lte/rrc/message/RRCMessage.h
→
src/linklayer/lte/rrc/message/RRCMessage.h
.bk
浏览文件 @
74d1f182
文件已移动
src/linklayer/lte/rrc/message/RRCPdu.cc
→
src/linklayer/lte/rrc/message/RRCPdu.cc
.bk
浏览文件 @
74d1f182
文件已移动
src/linklayer/lte/rrc/message/RRCPdu.h
→
src/linklayer/lte/rrc/message/RRCPdu.h
.bk
浏览文件 @
74d1f182
文件已移动
src/linklayer/lte/rrc/message/test.asn
浏览文件 @
74d1f182
In
formationElement
s DEFINITIONS AUTOMATIC TAGS ::=
In
ternode-definition
s DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
hiPDSCHidentities,
hiPUSCHidentities,
hiRM,
maxAC,
HandoverToUTRANCommand,
MeasurementReport,
PhysicalChannelReconfiguration,
RadioBearerReconfiguration,
RadioBearerRelease,
RadioBearerSetup,
RRCConnectionSetupComplete-r3-add-ext-IEs,
RRC-FailureInfo,
TransportChannelReconfiguration,
UECapabilityInformation-r3-add-ext-IEs
FROM PDU-definitions
-- Core Network IEs :
CN-DomainIdentity,
CN-DomainInformationList,
CN-DomainInformationListFull,
CN-DRX-CycleLengthCoefficient,
NAS-SystemInformationGSM-MAP,
-- UTRAN Mobility IEs :
CellIdentity,
URA-Identity,
-- User Equipment IEs :
AccessStratumReleaseIndicator,
C-RNTI,
ChipRateCapability,
DL-CapabilityWithSimultaneousHS-DSCHConfig,
DL-PhysChCapabilityFDD-v380ext,
DL-PhysChCapabilityTDD,
DL-PhysChCapabilityTDD-LCR-r4,
GSM-Measurements,
HSDSCH-physical-layer-category,
FailureCauseWithProtErr,
MaxHcContextSpace,
MaximumAM-EntityNumberRLC-Cap,
MaximumRLC-WindowSize,
MaxNoPhysChBitsReceived,
MaxNoDPDCH-BitsTransmitted,
MaxPhysChPerFrame,
MaxPhysChPerSubFrame-r4,
MaxPhysChPerTS,
MaxROHC-ContextSessions-r4,
MaxTS-PerFrame,
MaxTS-PerSubFrame-r4,
MinimumSF-DL,
MultiModeCapability,
MultiRAT-Capability,
NetworkAssistedGPS-Supported,
PhysicalChannelCapability-edch-r6,
RadioFrequencyBandTDDList,
RLC-Capability,
RRC-MessageSequenceNumber,
SecurityCapability,
SimultaneousSCCPCH-DPCH-Reception,
STARTList,
STARTSingle,
START-Value,
SupportOfDedicatedPilotsForChEstimation,
T-305,
TransportChannelCapability,
TxRxFrequencySeparation,
U-RNTI,
UE-CapabilityContainer-IEs,
UE-GANSSPositioning-Capability,
UE-MultiModeRAT-Capability,
UE-PowerClassExt,
UE-RadioAccessCapabBandFDDList,
UE-RadioAccessCapabBandFDDList2,
UE-RadioAccessCapabBandFDDList-ext,
UE-RadioAccessCapability,
UE-RadioAccessCapability-v370ext,
UE-RadioAccessCapability-v380ext,
UE-RadioAccessCapability-v3a0ext,
UE-RadioAccessCapability-v3g0ext,
UE-RadioAccessCapability-v4b0ext,
UE-RadioAccessCapability-v590ext,
UE-RadioAccessCapability-v5c0ext,
UE-RadioAccessCapability-v7e0ext,
UE-RadioAccessCapability-v7f0ext,
UL-PhysChCapabilityFDD,
UL-PhysChCapabilityFDD-r6,
UL-PhysChCapabilityTDD,
UL-PhysChCapabilityTDD-LCR-r4,
-- Radio Bearer IEs :
PDCP-ROHC-TargetMode,
PredefinedConfigStatusList,
PredefinedConfigValueTag,
RAB-InformationSetupList,
RAB-InformationSetupList-r4,
RAB-InformationSetupList-r5,
RAB-InformationSetupList-r6-ext,
RAB-InformationSetupList-r6,
RAB-InformationSetupList-v6b0ext,
RAB-InformationSetupList-r7,
RAB-InformationSetupList-r8,
RAB-InformationSetupList-v820ext,
RB-Identity,
SRB-InformationSetupList,
SRB-InformationSetupList-r5,
SRB-InformationSetupList-r6,
SRB-InformationSetupList-r7,
SRB-InformationSetupList-r8,
-- Transport Channel IEs :
CPCH-SetID,
DL-CommonTransChInfo,
DL-CommonTransChInfo-r4,
DL-AddReconfTransChInfoList,
DL-AddReconfTransChInfoList-r4,
DL-AddReconfTransChInfoList-r5,
DL-AddReconfTransChInfoList-r7,
DL-AddReconfTransChInfoList-r9,
DRAC-StaticInformationList,
UL-CommonTransChInfo,
UL-CommonTransChInfo-r4,
UL-AddReconfTransChInfoList,
UL-AddReconfTransChInfoList-r6,
UL-AddReconfTransChInfoList-r7,
UL-AddReconfTransChInfoList-r8,
-- Physical Channel IEs :
FrequencyInfo,
PrimaryCPICH-Info,
TPC-CombinationIndex,
ScramblingCodeChange,
TGCFN,
TGPSI,
TGPS-ConfigurationParams,
TGPS-ConfigurationParams-r8,
-- Measurement IEs :
Event1j-r6,
Hysteresis,
Inter-FreqEventCriteriaList-v590ext,
Intra-FreqEventCriteriaList-v590ext,
IntraFreqEvent-1d-r5,
IntraFreqReportingCriteria-1b-r5,
InterRATCellInfoIndication,
MeasuredResultsOnRACHinterFreq,
MeasurementIdentity,
MeasurementIdentity-r9,
MeasurementReportingMode,
MeasurementType,
MeasurementType-r4,
MeasurementType-r6,
MeasurementType-r7,
MeasurementType-r8,
MeasurementType-r9,
AdditionalMeasurementID-List,
AdditionalMeasurementID-List-r9,
PositionEstimate,
ReportingCellStatus,
ThresholdSFN-GPS-TOW-us,
TimeToTrigger,
-- MBMS IEs :
MBMS-JoinedInformation-r6,
MBMS-SelectedServiceInfo,
-- Other IEs :
GERANIu-RadioAccessCapability,
GSM-MS-RadioAccessCapability,
InterRAT-UE-RadioAccessCapabilityList,
InterRAT-UE-RadioAccessCapability-v590ext,
InterRAT-UE-RadioAccessCapability-v690ext,
InterRAT-UE-RadioAccessCapability-v860ext,
UE-HistoryInformation,
UESpecificBehaviourInformation1idle,
UESpecificBehaviourInformation1interRAT
FROM InformationElements
maxCNdomains,
maxEDCHRL,
maxGANSS,
maxNoOfMeas,
maxRB,
maxRBallRABs,
maxRFC3095-CID,
maxSRBsetup,
maxRL,
maxTGPS
FROM Constant-definitions;
AllowedTFI-List ::= SEQUENCE (SIZE (1..maxTF)) OF
INTEGER (0..31)
...
...
src/linklayer/lte/rrc/~$331-9b0.doc
0 → 100644
浏览文件 @
74d1f182
文件已添加
src/util/asn/ASNTypes.cc
浏览文件 @
74d1f182
...
...
@@ -90,7 +90,7 @@ bool OpenType::encode(PerEncoder &encoder) const {
const
Boolean
::
Info
Boolean
::
theInfo
=
{
&
Boolean
::
create
,
BOOLEAN
,
_
BOOLEAN
,
0
,
};
...
...
@@ -160,6 +160,11 @@ IntegerBase& IntegerBase::operator=(const IntegerBase& other) {
return
*
this
;
}
IntegerBase
&
IntegerBase
::
operator
=
(
int64_t
value
)
{
setValue
(
value
);
return
*
this
;
}
int64_t
IntegerBase
::
compare
(
const
AbstractType
&
other
)
const
{
const
IntegerBase
&
that
=
dynamic_cast
<
const
IntegerBase
&>
(
other
);
if
(
getLowerBound
()
>=
0
)
...
...
src/util/asn/ASNTypes.h
浏览文件 @
74d1f182
...
...
@@ -32,7 +32,7 @@ enum ConstraintType {
};
enum
ObjectType
{
BOOLEAN
=
0
,
_
BOOLEAN
=
0
,
INTEGER
=
1
,
ENUMERATED
=
2
,
BITSTRING
=
4
,
...
...
@@ -98,6 +98,23 @@ public:
virtual
int64_t
compare
(
const
AbstractType
&
other
)
const
=
0
;
};
struct
EmptyConstraint
{
enum
{
type
=
UNCONSTRAINED
,
lowerBound
=
0
,
upperBound
=
UINT_MAX
};
};
template
<
char
type_
,
int64_t
lowerBound_
,
int64_t
upperBound_
>
struct
SizeConstraint
{
enum
{
type
=
type_
,
lowerBound
=
lowerBound_
,
upperBound
=
upperBound_
};
};
/*
* Base class for all constrained ASN.1 types.
*/
...
...
@@ -244,6 +261,8 @@ public:
/* Operator methods. */
IntegerBase
&
operator
=
(
const
IntegerBase
&
other
);
IntegerBase
&
operator
=
(
int64_t
value
);
operator
int64_t
()
const
{
return
value
;
}
/* Getter methods. */
int64_t
getValue
()
const
{
return
value
;
}
...
...
@@ -600,7 +619,7 @@ public:
bool
encode
(
PerEncoder
&
encoder
)
const
;
};
template
<
class
T
,
c
har
type
,
int64_t
lowerBound
,
int64_t
upperBound
>
template
<
class
T
,
c
lass
Constraint
>
class
SequenceOf
:
public
SequenceOfBase
{
public:
static
const
Info
theInfo
;
...
...
@@ -618,14 +637,14 @@ public:
int64_t
size
()
const
{
return
items
.
size
();
}
};
template
<
class
T
,
c
har
type
,
int64_t
lowerBound
,
int64_t
upperBound
>
const
typename
SequenceOf
<
T
,
type
,
lowerBound
,
upperBound
>::
Info
SequenceOf
<
T
,
type
,
lowerBound
,
upperBound
>::
theInfo
=
{
template
<
class
T
,
c
lass
Constraint
>
const
typename
SequenceOf
<
T
,
Constraint
>::
Info
SequenceOf
<
T
,
Constraint
>::
theInfo
=
{
SequenceOfBase
::
create
,
SEQUENCEOF
,
0
,
type
,
lowerBound
,
upperBound
,
Constraint
::
type
,
Constraint
::
lowerBound
,
Constraint
::
upperBound
,
&
T
::
theInfo
};
...
...
src/util/asn/PerDecoder.cc
浏览文件 @
74d1f182
...
...
@@ -173,7 +173,7 @@ bool PerDecoder::decodeAbstractType(AbstractType& abstractType) {
return
decodeBitString
(
dynamic_cast
<
BitStringBase
&>
(
abstractType
));
case
OCTETSTRING
:
return
decodeOctetString
(
dynamic_cast
<
OctetStringBase
&>
(
abstractType
));
case
BOOLEAN
:
case
_
BOOLEAN
:
return
decodeBoolean
(
dynamic_cast
<
Boolean
&>
(
abstractType
));
case
_NULL
:
return
decodeNull
(
dynamic_cast
<
Null
&>
(
abstractType
));
...
...
src/util/asn/PerEncoder.cc
浏览文件 @
74d1f182
...
...
@@ -196,7 +196,7 @@ bool PerEncoder::encodeAbstractType(const AbstractType& abstractType) {
return
encodeBitString
(
static_cast
<
const
BitStringBase
&>
(
abstractType
));
case
OCTETSTRING
:
return
encodeOctetString
(
static_cast
<
const
OctetStringBase
&>
(
abstractType
));
case
BOOLEAN
:
case
_
BOOLEAN
:
return
encodeBoolean
(
static_cast
<
const
Boolean
&>
(
abstractType
));
case
_NULL
:
return
encodeNull
(
static_cast
<
const
Null
&>
(
abstractType
));
...
...
src/util/asn/parser/asnparser.py
浏览文件 @
74d1f182
...
...
@@ -13,16 +13,19 @@ enumeratedtxt = 'ENUMERATED'
nulltxt
=
'NULL'
booleantxt
=
'BOOLEAN'
asnobjs
=
list
()
openparanthes
i
s
=
'('
closedparanthes
i
s
=
')'
openparanthes
e
s
=
'('
closedparanthes
e
s
=
')'
importstxt
=
'IMPORTS'
optionaltxt
=
'OPTIONAL'
defaulttxt
=
'DEFAULT'
endtxt
=
'END'
oftxt
=
' OF '
size
=
'SIZE'
definitionstxt
=
'DEFINITIONS'
fromtxt
=
'FROM'
comment
=
'--'
comma
=
','
colon
=
':'
tripledash
=
'...'
typeslist
=
[
'Integer'
,
'BitString'
,
...
...
@@ -31,8 +34,11 @@ typeslist = ['Integer',
'Sequence'
,
'SequenceOf'
,
'Choice'
,
'
_
Null'
,
'Null'
,
'Boolean'
]
module
=
"RRC"
outfilename
=
''
includes
=
list
()
class
ASNObject
:
type
=
''
...
...
@@ -40,10 +46,12 @@ class ASNObject:
constrainttype
=
''
lowerlimit
=
''
upperlimit
=
''
value
=
0
opt
=
0
ext
=
0
objs
=
list
()
written
=
0
parent
=
None
def
parsebracket
(
asnobj
,
string
,
cursor
):
#print string
...
...
@@ -55,6 +63,7 @@ def parsebracket(asnobj, string, cursor):
if
string
[
i
]
==
comma
and
openbrackets
==
0
and
len
(
objstring
)
>
0
:
childobj
=
parsestring
(
objstring
.
strip
())
objs
.
append
(
childobj
)
childobj
.
parent
=
asnobj
objstring
=
""
else
:
if
string
[
i
]
==
openbracket
:
...
...
@@ -69,6 +78,7 @@ def parsebracket(asnobj, string, cursor):
if
len
(
objstring
)
>
0
:
childobj
=
parsestring
(
objstring
.
strip
())
objs
.
append
(
childobj
)
childobj
.
parent
=
asnobj
asnobj
.
constrainttype
=
"CONSTRAINED"
asnobj
.
objs
=
objs
...
...
@@ -111,7 +121,7 @@ def parsesize(asnobj, string):
def
parsetype
(
asnobj
,
string
):
type
=
""
if
string
.
split
()[
-
1
]
==
optionaltxt
:
asnobj
.
opt
=
1
string
=
string
.
split
(
optionaltxt
)[
0
].
strip
()
...
...
@@ -120,12 +130,12 @@ def parsetype(asnobj, string):
string
=
string
.
split
(
defaulttxt
)[
0
].
strip
()
for
i
in
range
(
0
,
len
(
string
)):
if
string
[
i
]
==
openparanthes
is
or
string
[
i
]
==
openbracket
or
string
[
i
]
==
comma
:
if
string
[
i
]
==
openparanthes
es
or
string
[
i
]
==
openbracket
or
string
[
i
]
==
comma
or
string
[
i
]
==
colon
:
break
else
:
type
+=
string
[
i
]
type
=
type
.
strip
()
if
type
==
integertxt
:
asnobj
.
type
=
"Integer"
elif
type
==
bitstringtxt
:
...
...
@@ -142,52 +152,84 @@ def parsetype(asnobj, string):
elif
type
==
enumeratedtxt
:
asnobj
.
type
=
"Enumerated"
elif
type
==
nulltxt
:
asnobj
.
type
=
"
_
Null"
asnobj
.
type
=
"Null"
elif
type
==
booleantxt
:
asnobj
.
type
=
"Boolean"
else
:
asnobj
.
type
=
type
.
replace
(
"-"
,
""
)
if
string
.
index
(
type
)
<
string
.
index
(
assign
):
asnobj
.
constrainttype
=
"CONSTANT"
def
findfilename
(
string
):
filename
=
string
while
filename
.
find
(
'-'
)
!=
-
1
:
pos
=
filename
.
index
(
'-'
)
first
=
filename
.
split
(
'-'
)[
0
]
second
=
filename
.
split
(
'-'
)[
1
].
title
()
if
second
.
find
(
';'
)
!=
-
1
:
second
=
second
[:
-
1
]
filename
=
first
+
second
return
filename
def
parseheader
(
string
):
filename
=
string
.
split
()[
0
]
global
outfilename
outfilename
=
module
+
findfilename
(
filename
)
words
=
string
.
split
(
"
\n
"
)
for
i
in
range
(
0
,
len
(
words
)):
if
fromtxt
in
words
[
i
]:
filename
=
words
[
i
].
split
()[
1
]
include
=
module
+
findfilename
(
filename
)
includes
.
append
(
include
)
def
parsestring
(
string
):
asnobj
=
ASNObject
()
words
=
list
()
if
importstxt
in
string
:
if
importstxt
in
string
or
definitionstxt
in
string
:
parseheader
(
string
)
return
asnobj
if
assign
in
string
:
string
=
string
.
replace
(
"
\t
"
,
' '
)
string
=
string
.
replace
(
"
\n
"
,
''
)
string
=
re
.
sub
(
'\s+'
,
' '
,
string
)
words
=
string
.
split
(
assign
)
asnobj
.
name
=
words
[
0
].
replace
(
"-"
,
""
).
strip
()
if
len
(
words
[
0
].
split
())
>
1
:
words
=
string
.
split
(
' '
,
1
)
asnobj
.
name
=
words
[
0
].
replace
(
"-"
,
"_"
).
strip
()
else
:
asnobj
.
name
=
words
[
0
].
replace
(
"-"
,
""
).
strip
()
else
:
words
=
string
.
split
(
' '
,
1
)
asnobj
.
name
=
words
[
0
].
replace
(
"-"
,
"_"
).
strip
()
if
len
(
words
)
>
1
:
parsetype
(
asnobj
,
words
[
1
])
if
asnobj
.
type
!=
"Enumerated"
:
if
asnobj
.
type
!=
"Enumerated"
and
asnobj
.
constrainttype
!=
"CONSTANT"
:
firstletter
=
asnobj
.
name
[
0
]
asnobj
.
name
=
asnobj
.
name
[
1
:]
asnobj
.
name
=
firstletter
.
capitalize
()
+
asnobj
.
name
for
i
in
range
(
0
,
len
(
string
)):
if
string
[
i
]
==
openparanthesis
:
words
=
words
[
1
].
split
(
openparanthesis
,
1
)
parsesize
(
asnobj
,
words
[
1
])
break
elif
string
[
i
]
==
openbracket
:
words
=
words
[
1
].
split
(
openbracket
,
1
)
tmpstring
=
words
[
1
].
strip
()
while
len
(
tmpstring
)
>
0
:
if
tmpstring
[
len
(
tmpstring
)
-
1
]
==
closedbracket
:
asnobj
.
name
=
asnobj
.
name
.
replace
(
"_"
,
""
)
if
asnobj
.
constrainttype
!=
"CONSTANT"
:
for
i
in
range
(
0
,
len
(
string
)):
if
string
[
i
]
==
openparantheses
:
words
=
words
[
1
].
split
(
openparantheses
,
1
)
parsesize
(
asnobj
,
words
[
1
])
break
elif
string
[
i
]
==
openbracket
:
words
=
words
[
1
].
split
(
openbracket
,
1
)
tmpstring
=
words
[
1
].
strip
()
while
len
(
tmpstring
)
>
0
:
if
tmpstring
[
len
(
tmpstring
)
-
1
]
==
closedbracket
:
tmpstring
=
tmpstring
[:
-
1
]
break
tmpstring
=
tmpstring
[:
-
1
]
break
tmpstring
=
tmpstring
[:
-
1
]
parsebracket
(
asnobj
,
tmpstring
,
0
)
break
else
:
asnobj
.
constrainttype
=
"UNCONSTRAINED"
parsebracket
(
asnobj
,
tmpstring
,
0
)
break
else
:
asnobj
.
constrainttype
=
"UNCONSTRAINED"
if
asnobj
.
type
==
"SequenceOf"
:
objs
=
list
()
...
...
@@ -199,6 +241,11 @@ def parsestring(string):
objs
.
append
(
obj
)
asnobj
.
objs
=
objs
if
asnobj
.
constrainttype
==
"CONSTANT"
:
words
=
words
[
1
].
split
(
assign
)
words
=
words
[
1
].
split
()
asnobj
.
value
=
int
(
words
[
0
])
return
asnobj
def
printobjects
(
asnobjs
):
...
...
@@ -234,23 +281,27 @@ def checkandhandledeps(asnobj, hdrfile, srcfile):
def
writeobject
(
asnobj
,
hdrfile
,
srcfile
):
if
asnobj
.
written
==
0
:
if
asnobj
.
parent
!=
None
:
asnobj
.
name
=
asnobj
.
parent
.
name
+
asnobj
.
name
# Null and Boolean
if
asnobj
.
type
==
"
_
Null"
or
asnobj
.
type
==
"Boolean"
:
if
asnobj
.
type
==
"Null"
or
asnobj
.
type
==
"Boolean"
:
hdrfile
.
write
(
"typedef "
+
asnobj
.
type
+
" "
+
asnobj
.
name
+
";
\n
"
)
asnobj
.
type
=
asnobj
.
name
# Constraint types
if
asnobj
.
type
==
"Integer"
or
asnobj
.
type
==
"BitString"
or
asnobj
.
type
==
"OctetString"
:
hdrfile
.
write
(
"typedef "
+
asnobj
.
type
+
"<"
+
asnobj
.
constrainttype
)
if
asnobj
.
lowerlimit
!=
''
:
hdrfile
.
write
(
", "
+
asnobj
.
lowerlimit
)
if
asnobj
.
upperlimit
!=
''
:
hdrfile
.
write
(
", "
+
asnobj
.
upperlimit
)
hdrfile
.
write
(
"> "
+
asnobj
.
name
+
";
\n
"
)
asnobj
.
type
=
asnobj
.
name
if
asnobj
.
constrainttype
==
"CONSTANT"
:
hdrfile
.
write
(
"const "
+
asnobj
.
type
+
"Base "
+
asnobj
.
name
+
"("
+
str
(
asnobj
.
value
)
+
");
\n
"
)
else
:
if
asnobj
.
type
==
"Integer"
or
asnobj
.
type
==
"BitString"
or
asnobj
.
type
==
"OctetString"
:
hdrfile
.
write
(
"typedef "
+
asnobj
.
type
+
"<"
+
asnobj
.
constrainttype
)
if
asnobj
.
lowerlimit
!=
''
:
hdrfile
.
write
(
", "
+
asnobj
.
lowerlimit
)
if
asnobj
.
upperlimit
!=
''
:
hdrfile
.
write
(
", "
+
asnobj
.
upperlimit
)
hdrfile
.
write
(
"> "
+
asnobj
.
name
+
";
\n
"
)
asnobj
.
type
=
asnobj
.
name
# Enumerated
...
...
@@ -325,7 +376,7 @@ def writeobject(asnobj, hdrfile, srcfile):
"
\t
static const void *choicesInfo["
+
str
(
len
(
asnobj
.
objs
))
+
"];
\n
"
+
"public:
\n
"
+
"
\t
static const Info theInfo;
\n
"
"
\t
"
+
asnobj
.
name
+
"(): Choice
s
(&theInfo) {}
\n
"
)
"
\t
"
+
asnobj
.
name
+
"(): Choice(&theInfo) {}
\n
"
)
hdrfile
.
write
(
"};
\n
"
)
srcfile
.
write
(
"const void *"
+
asnobj
.
name
+
"::choicesInfo["
+
str
(
len
(
asnobj
.
objs
))
+
"] = {
\n
"
)
for
j
in
range
(
0
,
len
(
asnobj
.
objs
)):
...
...
@@ -374,8 +425,9 @@ def main():
(
options
,
args
)
=
parser
.
parse_args
()
directory
=
"/root/Desktop/omnetpp-4.2.2/samples/4Gsim/src/linklayer/lte/rrc/message/"
filename
=
"RRCIe"
#directory = "/root/Desktop/omnetpp-4.2.2/samples/4Gsim/src/linklayer/lte/rrc/message/"
directory
=
"F:
\\
omnetpp-4.2.2
\\
samples
\\
4Gsim
\\
src
\\
linklayer
\\
lte
\\
rrc
\\
message
\\
"
filename
=
"Constant-definitions"
file
=
open
(
directory
+
filename
+
".asn"
,
"r"
)
lines
=
file
.
readlines
()
...
...
@@ -396,22 +448,25 @@ def main():
#printobjects(asnobjs)
print
(
"writing source files..."
)
hdrfile
=
open
(
directory
+
filename
+
".h"
,
'w'
)
srcfile
=
open
(
directory
+
filename
+
".cc"
,
'w'
)
hdrfile
=
open
(
directory
+
out
filename
+
".h"
,
'w'
)
srcfile
=
open
(
directory
+
out
filename
+
".cc"
,
'w'
)
writeheader
(
hdrfile
)
writeheader
(
srcfile
)
hdrfile
.
write
(
"#ifndef "
+
filename
.
upper
()
+
"_H_
\n
"
+
"#define "
+
filename
.
upper
()
+
"_H_
\n\n
"
+
"#include
\"
ASNTypes.h
\"\n\n
"
)
hdrfile
.
write
(
"#ifndef "
+
outfilename
.
upper
()
+
"_H_
\n
"
+
"#define "
+
outfilename
.
upper
()
+
"_H_
\n\n
"
+
"#include
\"
ASNTypes.h
\"\n
"
)
for
i
in
range
(
0
,
len
(
includes
)):
hdrfile
.
write
(
"#include
\"
"
+
includes
[
i
]
+
".h
\"\n
"
)
hdrfile
.
write
(
"
\n
"
)
srcfile
.
write
(
"#include
\"
"
+
filename
+
".h
\"\n\n
"
)
srcfile
.
write
(
"#include
\"
"
+
out
filename
+
".h
\"\n\n
"
)
for
i
in
range
(
0
,
len
(
asnobjs
)):
asnobj
=
asnobjs
[
i
]
writeobject
(
asnobj
,
hdrfile
,
srcfile
)
hdrfile
.
write
(
"#endif /* "
+
filename
.
upper
()
+
"_H_ */
\n
"
)
hdrfile
.
write
(
"#endif /* "
+
out
filename
.
upper
()
+
"_H_ */
\n
"
)
srcfile
.
close
()
hdrfile
.
close
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录