COSEMpdu 0.2.0__tar.gz → 0.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cosempdu-0.2.0 → cosempdu-0.3.2}/.gitignore +2 -1
- {cosempdu-0.2.0/src/COSEMpdu.egg-info → cosempdu-0.3.2}/PKG-INFO +3 -2
- {cosempdu-0.2.0 → cosempdu-0.3.2}/pyproject.toml +3 -2
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/acse.py +3 -96
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/apdu.py +32 -158
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/axdr.py +321 -176
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/ber.py +229 -180
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/byte_buffer.py +58 -37
- cosempdu-0.3.2/src/COSEMpdu/data.py +954 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/key_info.py +4 -13
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/service_error.py +6 -53
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/types_used.py +106 -121
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/useful_types.py +0 -15
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/user_information.py +2 -7
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/__init__.py +4 -6
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/bit_string.py +2 -3
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/boolean_type.py +2 -4
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/choice_type.py +14 -7
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/constrained_type.py +58 -15
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/enumerated_type.py +2 -3
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/generalized_time.py +5 -55
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/integer_type.py +4 -5
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/null_type.py +10 -9
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/object_identifier_type.py +13 -53
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/octet_string_type.py +4 -6
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/sequence_of_type.py +21 -5
- cosempdu-0.3.2/src/COSEMpdu/x680/sequence_type.py +72 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/tagged_type.py +24 -11
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/type.py +97 -46
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x690.py +63 -30
- {cosempdu-0.2.0 → cosempdu-0.3.2/src/COSEMpdu.egg-info}/PKG-INFO +3 -2
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu.egg-info/SOURCES.txt +1 -2
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu.egg-info/requires.txt +1 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_acse_pdu.py +10 -10
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_apdu.py +16 -16
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_axdr.py +157 -57
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_ber.py +43 -104
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_bytebuffer.py +12 -20
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_constraint.py +11 -20
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_data.py +205 -31
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_service_error.py +9 -9
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_types_used.py +26 -18
- cosempdu-0.2.0/src/COSEMpdu/data.py +0 -784
- cosempdu-0.2.0/src/COSEMpdu/x680/restricted_character_string_type.py +0 -17
- cosempdu-0.2.0/src/COSEMpdu/x680/sequence_type.py +0 -136
- {cosempdu-0.2.0 → cosempdu-0.3.2}/.github/workflows/publish.yml +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/.vscode/launch.json +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/README.md +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/setup.cfg +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/__init__.py +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2/src/COSEMpdu}/py.typed +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu/x680/tag.py +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu.egg-info/dependency_links.txt +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/src/COSEMpdu.egg-info/top_level.txt +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/__init__.py +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_main.py +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_x680_bitstring.py +0 -0
- {cosempdu-0.2.0 → cosempdu-0.3.2}/test/test_x690.py +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: COSEMpdu
|
|
3
|
-
Version: 0.2
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: cosem-pdu
|
|
5
5
|
Author-email: Serj Kotilevski <youserj@outlook.com>
|
|
6
|
-
Project-URL: Source, https://github.com/youserj/
|
|
6
|
+
Project-URL: Source, https://github.com/youserj/COSEMpdu_project
|
|
7
7
|
Keywords: dlms,asn.1,a-xdr,ber,pdu,coder
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: License :: OSI Approved :: MIT License
|
|
10
10
|
Classifier: Operating System :: OS Independent
|
|
11
11
|
Requires-Python: >=3.12
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
|
+
Requires-Dist: StructResult>=0.9.9
|
|
13
14
|
Provides-Extra: dev
|
|
14
15
|
Requires-Dist: mypy>=1.5.0; extra == "dev"
|
|
15
16
|
Requires-Dist: ruff>=0.11; extra == "dev"
|
|
@@ -9,11 +9,12 @@ package-dir = {"" = "src"}
|
|
|
9
9
|
|
|
10
10
|
[project]
|
|
11
11
|
name = "COSEMpdu"
|
|
12
|
-
version = "0.2
|
|
12
|
+
version = "0.3.2"
|
|
13
13
|
authors = [
|
|
14
14
|
{name="Serj Kotilevski", email="youserj@outlook.com"}
|
|
15
15
|
]
|
|
16
16
|
dependencies = [
|
|
17
|
+
"StructResult>=0.9.9",
|
|
17
18
|
]
|
|
18
19
|
description="cosem-pdu"
|
|
19
20
|
readme = "README.md"
|
|
@@ -25,7 +26,7 @@ classifiers = [
|
|
|
25
26
|
"Operating System :: OS Independent",
|
|
26
27
|
]
|
|
27
28
|
[project.urls]
|
|
28
|
-
Source = "https://github.com/youserj/
|
|
29
|
+
Source = "https://github.com/youserj/COSEMpdu_project"
|
|
29
30
|
|
|
30
31
|
[project.optional-dependencies]
|
|
31
32
|
dev = [
|
|
@@ -3,87 +3,70 @@ COSEM PDU Types Implementation
|
|
|
3
3
|
Based on COSEMpdu_GB83.txt (Green Book 8.3)
|
|
4
4
|
Implements A-XDR encoding/decoding according to IEC 61334-6 ACSE APDU Types (COSEMpdu_GB83
|
|
5
5
|
"""
|
|
6
|
-
from
|
|
7
|
-
from re import A, M
|
|
8
|
-
from typing import ClassVar, Self, Optional, override
|
|
6
|
+
from typing import ClassVar, Self, Optional
|
|
9
7
|
from . import x690
|
|
10
8
|
from .x680 import (
|
|
11
9
|
NamedType,
|
|
12
10
|
OptionalNamedType,
|
|
13
11
|
DefaultNamedType,
|
|
14
|
-
Type,
|
|
15
12
|
TaggingMode,
|
|
16
13
|
NamedBitList,
|
|
17
14
|
NamedBit,
|
|
18
15
|
NamedNumberList,
|
|
19
16
|
NamedNumber
|
|
20
17
|
)
|
|
21
|
-
from . import axdr
|
|
22
18
|
from . import ber
|
|
23
19
|
from .x680.tag import Class
|
|
24
20
|
from .ber import create_alternatives
|
|
25
21
|
|
|
26
22
|
|
|
27
|
-
@dataclass
|
|
28
23
|
class ApplicationContextName(ber.ObjectIdentifierType):
|
|
29
24
|
"""Application-context-name"""
|
|
30
25
|
|
|
31
26
|
|
|
32
|
-
@dataclass
|
|
33
27
|
class ApplicationContextName1(ber.TaggedType[ApplicationContextName]):
|
|
34
28
|
"""[1] Application-context-name"""
|
|
35
29
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=1)
|
|
36
30
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
37
|
-
value: ApplicationContextName
|
|
38
31
|
|
|
39
32
|
|
|
40
|
-
@dataclass
|
|
41
33
|
class APTitle(ber.OctetStringType):
|
|
42
34
|
"""AP-title"""
|
|
43
35
|
|
|
44
36
|
|
|
45
|
-
@dataclass
|
|
46
37
|
class AEQualifier(ber.OctetStringType):
|
|
47
38
|
"""AE-qualifier"""
|
|
48
39
|
|
|
49
40
|
|
|
50
|
-
@dataclass
|
|
51
41
|
class APInvocationIdentifier(ber.IntegerType):
|
|
52
42
|
"""AP-invocation-identifier"""
|
|
53
43
|
|
|
54
44
|
|
|
55
|
-
@dataclass
|
|
56
45
|
class AEInvocationIdentifier(ber.IntegerType):
|
|
57
46
|
"""AE-invocation-identifier"""
|
|
58
47
|
|
|
59
48
|
|
|
60
|
-
@dataclass
|
|
61
49
|
class ACSERequirements(ber.BitStringType):
|
|
62
50
|
"""ACSE-requirements"""
|
|
63
51
|
named_bits = NamedBitList((NamedBit("authentication", 0),))
|
|
64
52
|
|
|
65
53
|
|
|
66
|
-
@dataclass
|
|
67
54
|
class MechanismName(ber.ObjectIdentifierType):
|
|
68
55
|
"""Mechanism-name"""
|
|
69
56
|
|
|
70
57
|
|
|
71
|
-
@dataclass
|
|
72
58
|
class Charstring(ber.TaggedType[ber.GraphicString]):
|
|
73
59
|
"""[0] IMPLICIT GraphicString"""
|
|
74
60
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=0)
|
|
75
61
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
76
|
-
value: ber.GraphicString
|
|
77
62
|
|
|
78
|
-
|
|
63
|
+
|
|
79
64
|
class BitString1(ber.TaggedType[ber.BitStringType]):
|
|
80
65
|
""" [1] IMPLICIT BIT STRING"""
|
|
81
66
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=1)
|
|
82
67
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
83
|
-
value: ber.BitStringType
|
|
84
68
|
|
|
85
69
|
|
|
86
|
-
@dataclass
|
|
87
70
|
class AuthenticationValue(ber.ChoiceType):
|
|
88
71
|
"""Authentication-value"""
|
|
89
72
|
alternatives = ber.create_alternatives(
|
|
@@ -92,33 +75,26 @@ class AuthenticationValue(ber.ChoiceType):
|
|
|
92
75
|
)
|
|
93
76
|
|
|
94
77
|
|
|
95
|
-
@dataclass
|
|
96
78
|
class ImplementationData(ber.GraphicString):
|
|
97
79
|
"""Implementation-data"""
|
|
98
80
|
|
|
99
81
|
|
|
100
|
-
@dataclass
|
|
101
82
|
class ImplementationData29(ber.TaggedType[ImplementationData]):
|
|
102
83
|
"""[29] IMPLICIT Implementation-data"""
|
|
103
84
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=29)
|
|
104
85
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
105
|
-
value: ImplementationData
|
|
106
86
|
|
|
107
87
|
|
|
108
|
-
@dataclass
|
|
109
88
|
class AssociationInformation(ber.OctetStringType):
|
|
110
89
|
"""Association-information"""
|
|
111
90
|
|
|
112
91
|
|
|
113
|
-
@dataclass
|
|
114
92
|
class AssociationInformation30(ber.TaggedType[AssociationInformation]):
|
|
115
93
|
"""[30] EXPLICIT Association-information"""
|
|
116
94
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=30)
|
|
117
95
|
mode: ClassVar[TaggingMode] = TaggingMode.EXPLICIT
|
|
118
|
-
value: AssociationInformation
|
|
119
96
|
|
|
120
97
|
|
|
121
|
-
@dataclass
|
|
122
98
|
class AssociationResult(ber.IntegerType):
|
|
123
99
|
"""Association-result"""
|
|
124
100
|
named_numbers = NamedNumberList((
|
|
@@ -128,15 +104,12 @@ class AssociationResult(ber.IntegerType):
|
|
|
128
104
|
))
|
|
129
105
|
|
|
130
106
|
|
|
131
|
-
@dataclass
|
|
132
107
|
class Result(ber.TaggedType[AssociationResult]):
|
|
133
108
|
"""[2] Association-result"""
|
|
134
109
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=2)
|
|
135
110
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
136
|
-
value: AssociationResult
|
|
137
111
|
|
|
138
112
|
|
|
139
|
-
@dataclass
|
|
140
113
|
class AcseServiceUser(ber.IntegerType):
|
|
141
114
|
"""acse-service-user"""
|
|
142
115
|
named_numbers = NamedNumberList((
|
|
@@ -158,15 +131,12 @@ class AcseServiceUser(ber.IntegerType):
|
|
|
158
131
|
))
|
|
159
132
|
|
|
160
133
|
|
|
161
|
-
@dataclass
|
|
162
134
|
class ServiceUser(ber.TaggedType[AcseServiceUser]):
|
|
163
135
|
"""[1] acse-service-user"""
|
|
164
136
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=1)
|
|
165
137
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
166
|
-
value: AcseServiceUser
|
|
167
138
|
|
|
168
139
|
|
|
169
|
-
@dataclass
|
|
170
140
|
class AcseServiceProvider(ber.IntegerType):
|
|
171
141
|
"""acse-service-provider"""
|
|
172
142
|
named_numbers = NamedNumberList((
|
|
@@ -176,15 +146,12 @@ class AcseServiceProvider(ber.IntegerType):
|
|
|
176
146
|
))
|
|
177
147
|
|
|
178
148
|
|
|
179
|
-
@dataclass
|
|
180
149
|
class Provider(ber.TaggedType[AcseServiceProvider]):
|
|
181
150
|
"""[2] acse-service-provider"""
|
|
182
151
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=2)
|
|
183
152
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
184
|
-
value: AcseServiceProvider
|
|
185
153
|
|
|
186
154
|
|
|
187
|
-
@dataclass
|
|
188
155
|
class AssociateSourceDiagnostic(ber.ChoiceType):
|
|
189
156
|
"""Associate-source-diagnostic"""
|
|
190
157
|
alternatives = create_alternatives(
|
|
@@ -193,15 +160,12 @@ class AssociateSourceDiagnostic(ber.ChoiceType):
|
|
|
193
160
|
)
|
|
194
161
|
|
|
195
162
|
|
|
196
|
-
@dataclass
|
|
197
163
|
class ResultSourceDiagnostic(ber.TaggedType[AssociateSourceDiagnostic]):
|
|
198
164
|
"""[3] Associate-source-diagnostic"""
|
|
199
165
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=3)
|
|
200
166
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
201
|
-
value: AssociateSourceDiagnostic
|
|
202
167
|
|
|
203
168
|
|
|
204
|
-
@dataclass
|
|
205
169
|
class ReleaseRequestReason(ber.IntegerType):
|
|
206
170
|
"""Release-request-reason"""
|
|
207
171
|
named_numbers = NamedNumberList((
|
|
@@ -211,15 +175,12 @@ class ReleaseRequestReason(ber.IntegerType):
|
|
|
211
175
|
))
|
|
212
176
|
|
|
213
177
|
|
|
214
|
-
@dataclass
|
|
215
178
|
class RequestReason(ber.TaggedType[ReleaseRequestReason]):
|
|
216
179
|
"""[0] IMPLICIT Release-request-reason"""
|
|
217
180
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=0)
|
|
218
181
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
219
|
-
value: ReleaseRequestReason
|
|
220
182
|
|
|
221
183
|
|
|
222
|
-
@dataclass
|
|
223
184
|
class ReleaseResponseReason(ber.IntegerType):
|
|
224
185
|
"""Release-response-reason"""
|
|
225
186
|
named_numbers = NamedNumberList((
|
|
@@ -229,120 +190,92 @@ class ReleaseResponseReason(ber.IntegerType):
|
|
|
229
190
|
))
|
|
230
191
|
|
|
231
192
|
|
|
232
|
-
@dataclass
|
|
233
193
|
class ResponseReason(ber.TaggedType[ReleaseResponseReason]):
|
|
234
194
|
"""[0] IMPLICIT Release-response-reason"""
|
|
235
195
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=0)
|
|
236
196
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
237
|
-
value: ReleaseResponseReason
|
|
238
197
|
|
|
239
198
|
|
|
240
|
-
@dataclass
|
|
241
199
|
class ProtocolVersion(ber.BitStringType):
|
|
242
200
|
"""protocol-version"""
|
|
243
201
|
named_bits = NamedBitList((NamedBit("version1", 0),))
|
|
244
202
|
|
|
245
203
|
|
|
246
|
-
@dataclass
|
|
247
204
|
class ProtocolVersion0(ber.TaggedType[ProtocolVersion]):
|
|
248
205
|
"""[0] IMPLICIT protocol-version"""
|
|
249
206
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=0)
|
|
250
207
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
251
|
-
value: ProtocolVersion
|
|
252
208
|
|
|
253
209
|
|
|
254
210
|
DEFAULT_PROTOCOL_VERSION = ProtocolVersion0(ProtocolVersion((0,)))
|
|
255
211
|
|
|
256
212
|
|
|
257
|
-
@dataclass
|
|
258
213
|
class CalledAPTitle(ber.TaggedType[APTitle]):
|
|
259
214
|
"""[2] AP-title"""
|
|
260
215
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=2)
|
|
261
216
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
262
|
-
value: APTitle
|
|
263
217
|
|
|
264
218
|
|
|
265
|
-
@dataclass
|
|
266
219
|
class CallingAPTitle(ber.TaggedType[APTitle]):
|
|
267
220
|
"""[6] AP-title"""
|
|
268
221
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=6)
|
|
269
222
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
270
|
-
value: APTitle
|
|
271
223
|
|
|
272
224
|
|
|
273
|
-
@dataclass
|
|
274
225
|
class CalledAEQualifier(ber.TaggedType[AEQualifier]):
|
|
275
226
|
"""[3] AE-qualifier"""
|
|
276
227
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=3)
|
|
277
228
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
278
|
-
value: AEQualifier
|
|
279
229
|
|
|
280
230
|
|
|
281
|
-
@dataclass
|
|
282
231
|
class CallingAEQualifier(ber.TaggedType[AEQualifier]):
|
|
283
232
|
"""[7] AE-qualifier"""
|
|
284
233
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=7)
|
|
285
234
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
286
|
-
value: AEQualifier
|
|
287
235
|
|
|
288
236
|
|
|
289
|
-
@dataclass
|
|
290
237
|
class CalledAPInvocationIdentifier(ber.TaggedType[APInvocationIdentifier]):
|
|
291
238
|
"""[4] AP-invocation-identifier"""
|
|
292
239
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=4)
|
|
293
240
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
294
|
-
value: APInvocationIdentifier
|
|
295
241
|
|
|
296
242
|
|
|
297
|
-
@dataclass
|
|
298
243
|
class CallingAPInvocationIdentifier(ber.TaggedType[APInvocationIdentifier]):
|
|
299
244
|
"""[8] AP-invocation-identifier"""
|
|
300
245
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=8)
|
|
301
246
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
302
|
-
value: APInvocationIdentifier
|
|
303
247
|
|
|
304
248
|
|
|
305
|
-
@dataclass
|
|
306
249
|
class CalledAEInvocationIdentifier(ber.TaggedType[AEInvocationIdentifier]):
|
|
307
250
|
"""[5] AE-invocation-identifier"""
|
|
308
251
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=5)
|
|
309
252
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
310
|
-
value: AEInvocationIdentifier
|
|
311
253
|
|
|
312
254
|
|
|
313
|
-
@dataclass
|
|
314
255
|
class CallingAEInvocationIdentifier(ber.TaggedType[AEInvocationIdentifier]):
|
|
315
256
|
"""[9] AE-invocation-identifier"""
|
|
316
257
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=9)
|
|
317
258
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
318
|
-
value: AEInvocationIdentifier
|
|
319
259
|
|
|
320
260
|
|
|
321
|
-
@dataclass
|
|
322
261
|
class SenderACSERequirements(ber.TaggedType[ACSERequirements]):
|
|
323
262
|
"""[10] IMPLICIT ACSE-requirements"""
|
|
324
263
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=10)
|
|
325
264
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
326
|
-
value: ACSERequirements
|
|
327
265
|
|
|
328
266
|
|
|
329
|
-
@dataclass
|
|
330
267
|
class MechanismName11(ber.TaggedType[MechanismName]):
|
|
331
268
|
"""[11] IMPLICIT Mechanism-name tagged"""
|
|
332
269
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=11)
|
|
333
270
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
334
|
-
value: MechanismName
|
|
335
271
|
|
|
336
272
|
|
|
337
|
-
@dataclass
|
|
338
273
|
class CallingAuthenticationValue(ber.TaggedType[AuthenticationValue]):
|
|
339
274
|
"""[12] EXPLICIT Authentication-value"""
|
|
340
275
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=12)
|
|
341
276
|
mode: ClassVar[TaggingMode] = TaggingMode.EXPLICIT
|
|
342
|
-
value: AuthenticationValue
|
|
343
277
|
|
|
344
278
|
|
|
345
|
-
@dataclass
|
|
346
279
|
class AARQApdu(ber.SequenceType):
|
|
347
280
|
"""AARQ-apdu"""
|
|
348
281
|
components = (
|
|
@@ -408,7 +341,6 @@ class AARQApdu(ber.SequenceType):
|
|
|
408
341
|
))
|
|
409
342
|
|
|
410
343
|
|
|
411
|
-
@dataclass
|
|
412
344
|
class AARQ(ber.TaggedType[AARQApdu]):
|
|
413
345
|
"""[APPLICATION 0] IMPLICIT AARQ-apdu"""
|
|
414
346
|
tag: ClassVar[x690.Tag] = x690.Tag(
|
|
@@ -417,67 +349,50 @@ class AARQ(ber.TaggedType[AARQApdu]):
|
|
|
417
349
|
constructed=True
|
|
418
350
|
)
|
|
419
351
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
420
|
-
value: AARQApdu
|
|
421
352
|
|
|
422
353
|
|
|
423
|
-
@dataclass
|
|
424
354
|
class RespondingAPTitle(ber.TaggedType[APTitle]):
|
|
425
355
|
"""[4] AP-title"""
|
|
426
356
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=4)
|
|
427
357
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
428
|
-
value: APTitle
|
|
429
358
|
|
|
430
359
|
|
|
431
|
-
@dataclass
|
|
432
360
|
class RespondingAEQualifier(ber.TaggedType[AEQualifier]):
|
|
433
361
|
"""[5] AE-qualifier"""
|
|
434
362
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=5)
|
|
435
363
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
436
|
-
value: AEQualifier
|
|
437
364
|
|
|
438
365
|
|
|
439
|
-
@dataclass
|
|
440
366
|
class RespondingAPInvocationIdentifier(ber.TaggedType[APInvocationIdentifier]):
|
|
441
367
|
"""[6] AP-invocation-identifier tagged"""
|
|
442
368
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=6)
|
|
443
369
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
444
|
-
value: APInvocationIdentifier
|
|
445
370
|
|
|
446
371
|
|
|
447
|
-
@dataclass
|
|
448
372
|
class RespondingAEInvocationIdentifier(ber.TaggedType[AEInvocationIdentifier]):
|
|
449
373
|
"""[7] AE-invocation-identifier"""
|
|
450
374
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=7)
|
|
451
375
|
mode: ClassVar[TaggingMode] = TaggingMode.DEFAULT
|
|
452
|
-
value: AEInvocationIdentifier
|
|
453
376
|
|
|
454
377
|
|
|
455
|
-
@dataclass
|
|
456
378
|
class ResponderACSERequirements(ber.TaggedType[ACSERequirements]):
|
|
457
379
|
"""[8] IMPLICIT ACSE-requirements tagged"""
|
|
458
380
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=8)
|
|
459
381
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
460
|
-
value: ACSERequirements
|
|
461
382
|
|
|
462
383
|
|
|
463
|
-
@dataclass
|
|
464
384
|
class MechanismName9(ber.TaggedType[MechanismName]):
|
|
465
385
|
"""[9] IMPLICIT Mechanism-name"""
|
|
466
386
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=9)
|
|
467
387
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
468
|
-
value: MechanismName
|
|
469
|
-
|
|
470
388
|
|
|
471
389
|
|
|
472
|
-
@dataclass
|
|
473
390
|
class RespondingAuthenticationValue(ber.TaggedType[AuthenticationValue]):
|
|
474
391
|
"""[11] EXPLICIT Authentication-value"""
|
|
475
392
|
tag: ClassVar[x690.Tag] = x690.Tag(class_=Class.CONTEXT_SPECIFIC, class_number=11)
|
|
476
393
|
mode: ClassVar[TaggingMode] = TaggingMode.EXPLICIT
|
|
477
|
-
value: AuthenticationValue
|
|
478
394
|
|
|
479
395
|
|
|
480
|
-
@dataclass
|
|
481
396
|
class AAREApdu(ber.SequenceType):
|
|
482
397
|
"""AARE-apdu"""
|
|
483
398
|
components = (
|
|
@@ -531,7 +446,6 @@ class AAREApdu(ber.SequenceType):
|
|
|
531
446
|
))
|
|
532
447
|
|
|
533
448
|
|
|
534
|
-
@dataclass
|
|
535
449
|
class AARE(ber.TaggedType[AAREApdu]):
|
|
536
450
|
"""[1] AARE-apdu"""
|
|
537
451
|
tag: ClassVar[x690.Tag] = x690.Tag(
|
|
@@ -540,16 +454,15 @@ class AARE(ber.TaggedType[AAREApdu]):
|
|
|
540
454
|
constructed=True
|
|
541
455
|
)
|
|
542
456
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
543
|
-
value: AAREApdu
|
|
544
457
|
|
|
545
458
|
|
|
546
|
-
@dataclass
|
|
547
459
|
class RLRQApdu(ber.SequenceType):
|
|
548
460
|
"""RLRQ-apdu internal sequence"""
|
|
549
461
|
components = (
|
|
550
462
|
OptionalNamedType("reason", RequestReason),
|
|
551
463
|
OptionalNamedType("user-information", AssociationInformation30),
|
|
552
464
|
)
|
|
465
|
+
|
|
553
466
|
@classmethod
|
|
554
467
|
def from_components(
|
|
555
468
|
cls,
|
|
@@ -569,7 +482,6 @@ class RLRQApdu(ber.SequenceType):
|
|
|
569
482
|
))
|
|
570
483
|
|
|
571
484
|
|
|
572
|
-
@dataclass
|
|
573
485
|
class RLRQ(ber.TaggedType[RLRQApdu]):
|
|
574
486
|
"""[2] RLRQ-apdu"""
|
|
575
487
|
tag: ClassVar[x690.Tag] = x690.Tag(
|
|
@@ -578,10 +490,8 @@ class RLRQ(ber.TaggedType[RLRQApdu]):
|
|
|
578
490
|
constructed=True
|
|
579
491
|
)
|
|
580
492
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
581
|
-
value: RLRQApdu
|
|
582
493
|
|
|
583
494
|
|
|
584
|
-
@dataclass
|
|
585
495
|
class RLREApdu(ber.SequenceType):
|
|
586
496
|
"""RLRE-apdu internal sequence"""
|
|
587
497
|
components = (
|
|
@@ -608,7 +518,6 @@ class RLREApdu(ber.SequenceType):
|
|
|
608
518
|
))
|
|
609
519
|
|
|
610
520
|
|
|
611
|
-
@dataclass
|
|
612
521
|
class RLRE(ber.TaggedType[RLREApdu]):
|
|
613
522
|
"""[3] RLRE-apdu"""
|
|
614
523
|
tag: ClassVar[x690.Tag] = x690.Tag(
|
|
@@ -617,10 +526,8 @@ class RLRE(ber.TaggedType[RLREApdu]):
|
|
|
617
526
|
constructed=True
|
|
618
527
|
)
|
|
619
528
|
mode: ClassVar[TaggingMode] = TaggingMode.IMPLICIT
|
|
620
|
-
value: RLREApdu
|
|
621
529
|
|
|
622
530
|
|
|
623
|
-
@dataclass
|
|
624
531
|
class ACSEApdu(ber.ChoiceType):
|
|
625
532
|
"""ACSE-APDU"""
|
|
626
533
|
alternatives = create_alternatives(
|