Test Failed
Pull Request — master (#490)
by Olivier
03:08
created

StatusCodes

Complexity

Total Complexity 0

Size/Duplication

Total Lines 231
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 231
ccs 0
cts 231
cp 0
wmc 0
1
#AUTOGENERATED!!!
2
3 1
from opcua.ua.uaerrors import UaStatusCodeError
4 1
from opcua.ua import ua_binary as uabin
5
6
class StatusCodes(object):
7
    Good = 0
8
    Uncertain = 0x40000000
9
    Bad = 0x80000000
10
    BadUnexpectedError = 0x80010000
11
    BadInternalError = 0x80020000
12
    BadOutOfMemory = 0x80030000
13
    BadResourceUnavailable = 0x80040000
14
    BadCommunicationError = 0x80050000
15
    BadEncodingError = 0x80060000
16
    BadDecodingError = 0x80070000
17
    BadEncodingLimitsExceeded = 0x80080000
18
    BadRequestTooLarge = 0x80B80000
19
    BadResponseTooLarge = 0x80B90000
20
    BadUnknownResponse = 0x80090000
21
    BadTimeout = 0x800A0000
22
    BadServiceUnsupported = 0x800B0000
23
    BadShutdown = 0x800C0000
24
    BadServerNotConnected = 0x800D0000
25
    BadServerHalted = 0x800E0000
26
    BadNothingToDo = 0x800F0000
27
    BadTooManyOperations = 0x80100000
28
    BadTooManyMonitoredItems = 0x80DB0000
29
    BadDataTypeIdUnknown = 0x80110000
30
    BadCertificateInvalid = 0x80120000
31
    BadSecurityChecksFailed = 0x80130000
32
    BadCertificateTimeInvalid = 0x80140000
33
    BadCertificateIssuerTimeInvalid = 0x80150000
34
    BadCertificateHostNameInvalid = 0x80160000
35
    BadCertificateUriInvalid = 0x80170000
36
    BadCertificateUseNotAllowed = 0x80180000
37
    BadCertificateIssuerUseNotAllowed = 0x80190000
38
    BadCertificateUntrusted = 0x801A0000
39
    BadCertificateRevocationUnknown = 0x801B0000
40
    BadCertificateIssuerRevocationUnknown = 0x801C0000
41
    BadCertificateRevoked = 0x801D0000
42
    BadCertificateIssuerRevoked = 0x801E0000
43
    BadCertificateChainIncomplete = 0x810D0000
44
    BadUserAccessDenied = 0x801F0000
45
    BadIdentityTokenInvalid = 0x80200000
46
    BadIdentityTokenRejected = 0x80210000
47
    BadSecureChannelIdInvalid = 0x80220000
48
    BadInvalidTimestamp = 0x80230000
49
    BadNonceInvalid = 0x80240000
50
    BadSessionIdInvalid = 0x80250000
51
    BadSessionClosed = 0x80260000
52
    BadSessionNotActivated = 0x80270000
53
    BadSubscriptionIdInvalid = 0x80280000
54
    BadRequestHeaderInvalid = 0x802A0000
55
    BadTimestampsToReturnInvalid = 0x802B0000
56
    BadRequestCancelledByClient = 0x802C0000
57
    BadTooManyArguments = 0x80E50000
58
    GoodSubscriptionTransferred = 0x002D0000
59
    GoodCompletesAsynchronously = 0x002E0000
60
    GoodOverload = 0x002F0000
61
    GoodClamped = 0x00300000
62
    BadNoCommunication = 0x80310000
63
    BadWaitingForInitialData = 0x80320000
64
    BadNodeIdInvalid = 0x80330000
65
    BadNodeIdUnknown = 0x80340000
66
    BadAttributeIdInvalid = 0x80350000
67
    BadIndexRangeInvalid = 0x80360000
68
    BadIndexRangeNoData = 0x80370000
69
    BadDataEncodingInvalid = 0x80380000
70
    BadDataEncodingUnsupported = 0x80390000
71
    BadNotReadable = 0x803A0000
72
    BadNotWritable = 0x803B0000
73
    BadOutOfRange = 0x803C0000
74
    BadNotSupported = 0x803D0000
75
    BadNotFound = 0x803E0000
76
    BadObjectDeleted = 0x803F0000
77
    BadNotImplemented = 0x80400000
78
    BadMonitoringModeInvalid = 0x80410000
79
    BadMonitoredItemIdInvalid = 0x80420000
80
    BadMonitoredItemFilterInvalid = 0x80430000
81
    BadMonitoredItemFilterUnsupported = 0x80440000
82
    BadFilterNotAllowed = 0x80450000
83
    BadStructureMissing = 0x80460000
84
    BadEventFilterInvalid = 0x80470000
85
    BadContentFilterInvalid = 0x80480000
86
    BadFilterOperatorInvalid = 0x80C10000
87
    BadFilterOperatorUnsupported = 0x80C20000
88
    BadFilterOperandCountMismatch = 0x80C30000
89
    BadFilterOperandInvalid = 0x80490000
90
    BadFilterElementInvalid = 0x80C40000
91
    BadFilterLiteralInvalid = 0x80C50000
92
    BadContinuationPointInvalid = 0x804A0000
93
    BadNoContinuationPoints = 0x804B0000
94
    BadReferenceTypeIdInvalid = 0x804C0000
95
    BadBrowseDirectionInvalid = 0x804D0000
96
    BadNodeNotInView = 0x804E0000
97
    BadServerUriInvalid = 0x804F0000
98
    BadServerNameMissing = 0x80500000
99
    BadDiscoveryUrlMissing = 0x80510000
100
    BadSempahoreFileMissing = 0x80520000
101
    BadRequestTypeInvalid = 0x80530000
102
    BadSecurityModeRejected = 0x80540000
103
    BadSecurityPolicyRejected = 0x80550000
104
    BadTooManySessions = 0x80560000
105
    BadUserSignatureInvalid = 0x80570000
106
    BadApplicationSignatureInvalid = 0x80580000
107
    BadNoValidCertificates = 0x80590000
108
    BadIdentityChangeNotSupported = 0x80C60000
109
    BadRequestCancelledByRequest = 0x805A0000
110
    BadParentNodeIdInvalid = 0x805B0000
111
    BadReferenceNotAllowed = 0x805C0000
112
    BadNodeIdRejected = 0x805D0000
113
    BadNodeIdExists = 0x805E0000
114
    BadNodeClassInvalid = 0x805F0000
115
    BadBrowseNameInvalid = 0x80600000
116
    BadBrowseNameDuplicated = 0x80610000
117
    BadNodeAttributesInvalid = 0x80620000
118
    BadTypeDefinitionInvalid = 0x80630000
119
    BadSourceNodeIdInvalid = 0x80640000
120
    BadTargetNodeIdInvalid = 0x80650000
121
    BadDuplicateReferenceNotAllowed = 0x80660000
122
    BadInvalidSelfReference = 0x80670000
123
    BadReferenceLocalOnly = 0x80680000
124
    BadNoDeleteRights = 0x80690000
125
    UncertainReferenceNotDeleted = 0x40BC0000
126
    BadServerIndexInvalid = 0x806A0000
127
    BadViewIdUnknown = 0x806B0000
128
    BadViewTimestampInvalid = 0x80C90000
129
    BadViewParameterMismatch = 0x80CA0000
130
    BadViewVersionInvalid = 0x80CB0000
131
    UncertainNotAllNodesAvailable = 0x40C00000
132
    GoodResultsMayBeIncomplete = 0x00BA0000
133
    BadNotTypeDefinition = 0x80C80000
134
    UncertainReferenceOutOfServer = 0x406C0000
135
    BadTooManyMatches = 0x806D0000
136
    BadQueryTooComplex = 0x806E0000
137
    BadNoMatch = 0x806F0000
138
    BadMaxAgeInvalid = 0x80700000
139
    BadSecurityModeInsufficient = 0x80E60000
140
    BadHistoryOperationInvalid = 0x80710000
141
    BadHistoryOperationUnsupported = 0x80720000
142
    BadInvalidTimestampArgument = 0x80BD0000
143
    BadWriteNotSupported = 0x80730000
144
    BadTypeMismatch = 0x80740000
145
    BadMethodInvalid = 0x80750000
146
    BadArgumentsMissing = 0x80760000
147
    BadTooManySubscriptions = 0x80770000
148
    BadTooManyPublishRequests = 0x80780000
149
    BadNoSubscription = 0x80790000
150
    BadSequenceNumberUnknown = 0x807A0000
151
    BadMessageNotAvailable = 0x807B0000
152
    BadInsufficientClientProfile = 0x807C0000
153
    BadStateNotActive = 0x80BF0000
154
    BadTcpServerTooBusy = 0x807D0000
155
    BadTcpMessageTypeInvalid = 0x807E0000
156
    BadTcpSecureChannelUnknown = 0x807F0000
157
    BadTcpMessageTooLarge = 0x80800000
158
    BadTcpNotEnoughResources = 0x80810000
159
    BadTcpInternalError = 0x80820000
160
    BadTcpEndpointUrlInvalid = 0x80830000
161
    BadRequestInterrupted = 0x80840000
162
    BadRequestTimeout = 0x80850000
163
    BadSecureChannelClosed = 0x80860000
164
    BadSecureChannelTokenUnknown = 0x80870000
165
    BadSequenceNumberInvalid = 0x80880000
166
    BadProtocolVersionUnsupported = 0x80BE0000
167
    BadConfigurationError = 0x80890000
168
    BadNotConnected = 0x808A0000
169
    BadDeviceFailure = 0x808B0000
170
    BadSensorFailure = 0x808C0000
171
    BadOutOfService = 0x808D0000
172
    BadDeadbandFilterInvalid = 0x808E0000
173
    UncertainNoCommunicationLastUsableValue = 0x408F0000
174
    UncertainLastUsableValue = 0x40900000
175
    UncertainSubstituteValue = 0x40910000
176
    UncertainInitialValue = 0x40920000
177
    UncertainSensorNotAccurate = 0x40930000
178
    UncertainEngineeringUnitsExceeded = 0x40940000
179
    UncertainSubNormal = 0x40950000
180
    GoodLocalOverride = 0x00960000
181
    BadRefreshInProgress = 0x80970000
182
    BadConditionAlreadyDisabled = 0x80980000
183
    BadConditionAlreadyEnabled = 0x80CC0000
184
    BadConditionDisabled = 0x80990000
185
    BadEventIdUnknown = 0x809A0000
186
    BadEventNotAcknowledgeable = 0x80BB0000
187
    BadDialogNotActive = 0x80CD0000
188
    BadDialogResponseInvalid = 0x80CE0000
189
    BadConditionBranchAlreadyAcked = 0x80CF0000
190
    BadConditionBranchAlreadyConfirmed = 0x80D00000
191
    BadConditionAlreadyShelved = 0x80D10000
192
    BadConditionNotShelved = 0x80D20000
193
    BadShelvingTimeOutOfRange = 0x80D30000
194
    BadNoData = 0x809B0000
195
    BadBoundNotFound = 0x80D70000
196
    BadBoundNotSupported = 0x80D80000
197
    BadDataLost = 0x809D0000
198
    BadDataUnavailable = 0x809E0000
199
    BadEntryExists = 0x809F0000
200
    BadNoEntryExists = 0x80A00000
201
    BadTimestampNotSupported = 0x80A10000
202
    GoodEntryInserted = 0x00A20000
203
    GoodEntryReplaced = 0x00A30000
204
    UncertainDataSubNormal = 0x40A40000
205
    GoodNoData = 0x00A50000
206
    GoodMoreData = 0x00A60000
207
    BadAggregateListMismatch = 0x80D40000
208
    BadAggregateNotSupported = 0x80D50000
209
    BadAggregateInvalidInputs = 0x80D60000
210
    BadAggregateConfigurationRejected = 0x80DA0000
211
    GoodDataIgnored = 0x00D90000
212
    BadRequestNotAllowed = 0x80E40000
213
    GoodEdited = 0x00DC0000
214
    GoodPostActionFailed = 0x00DD0000
215
    UncertainDominantValueChanged = 0x40DE0000
216
    GoodDependentValueChanged = 0x00E00000
217
    BadDominantValueChanged = 0x80E10000
218
    UncertainDependentValueChanged = 0x40E20000
219
    BadDependentValueChanged = 0x80E30000
220
    GoodCommunicationEvent = 0x00A70000
221
    GoodShutdownEvent = 0x00A80000
222
    GoodCallAgain = 0x00A90000
223
    GoodNonCriticalTimeout = 0x00AA0000
224
    BadInvalidArgument = 0x80AB0000
225
    BadConnectionRejected = 0x80AC0000
226
    BadDisconnect = 0x80AD0000
227
    BadConnectionClosed = 0x80AE0000
228
    BadInvalidState = 0x80AF0000
229
    BadEndOfStream = 0x80B00000
230
    BadNoDataAvailable = 0x80B10000
231
    BadWaitingForResponse = 0x80B20000
232
    BadOperationAbandoned = 0x80B30000
233
    BadExpectedStreamToBlock = 0x80B40000
234
    BadWouldBlock = 0x80B50000
235
    BadSyntaxError = 0x80B60000
236
    BadMaxConnectionsReached = 0x80B70000
237
238
239
code_to_name_doc = {
240
    0: ('Good', 'The operation completed successfully.'),
241
    0x40000000: ('Uncertain', 'The operation completed however its outputs may not be usable.'),
242
    0x80000000: ('Bad', 'The operation failed.'),
243
    0x80010000: ('BadUnexpectedError', 'An unexpected error occurred.'),
244
    0x80020000: ('BadInternalError', 'An internal error occurred as a result of a programming or configuration error.'),
245
    0x80030000: ('BadOutOfMemory', 'Not enough memory to complete the operation.'),
246
    0x80040000: ('BadResourceUnavailable', 'An operating system resource is not available.'),
247
    0x80050000: ('BadCommunicationError', 'A low level communication error occurred.'),
248
    0x80060000: ('BadEncodingError', 'Encoding halted because of invalid data in the objects being serialized.'),
249
    0x80070000: ('BadDecodingError', 'Decoding halted because of invalid data in the stream.'),
250
    0x80080000: ('BadEncodingLimitsExceeded', 'The message encoding/decoding limits imposed by the stack have been exceeded.'),
251
    0x80B80000: ('BadRequestTooLarge', 'The request message size exceeds limits set by the server.'),
252
    0x80B90000: ('BadResponseTooLarge', 'The response message size exceeds limits set by the client.'),
253
    0x80090000: ('BadUnknownResponse', 'An unrecognized response was received from the server.'),
254
    0x800A0000: ('BadTimeout', 'The operation timed out.'),
255
    0x800B0000: ('BadServiceUnsupported', 'The server does not support the requested service.'),
256
    0x800C0000: ('BadShutdown', 'The operation was cancelled because the application is shutting down.'),
257
    0x800D0000: ('BadServerNotConnected', 'The operation could not complete because the client is not connected to the server.'),
258
    0x800E0000: ('BadServerHalted', 'The server has stopped and cannot process any requests.'),
259
    0x800F0000: ('BadNothingToDo', 'There was nothing to do because the client passed a list of operations with no elements.'),
260
    0x80100000: ('BadTooManyOperations', 'The request could not be processed because it specified too many operations.'),
261
    0x80DB0000: ('BadTooManyMonitoredItems', 'The request could not be processed because there are too many monitored items in the subscription.'),
262
    0x80110000: ('BadDataTypeIdUnknown', 'The extension object cannot be (de)serialized because the data type id is not recognized.'),
263
    0x80120000: ('BadCertificateInvalid', 'The certificate provided as a parameter is not valid.'),
264
    0x80130000: ('BadSecurityChecksFailed', 'An error occurred verifying security.'),
265
    0x80140000: ('BadCertificateTimeInvalid', 'The Certificate has expired or is not yet valid.'),
266
    0x80150000: ('BadCertificateIssuerTimeInvalid', 'An Issuer Certificate has expired or is not yet valid.'),
267
    0x80160000: ('BadCertificateHostNameInvalid', 'The HostName used to connect to a Server does not match a HostName in the Certificate.'),
268
    0x80170000: ('BadCertificateUriInvalid', 'The URI specified in the ApplicationDescription does not match the URI in the Certificate.'),
269
    0x80180000: ('BadCertificateUseNotAllowed', 'The Certificate may not be used for the requested operation.'),
270
    0x80190000: ('BadCertificateIssuerUseNotAllowed', 'The Issuer Certificate may not be used for the requested operation.'),
271
    0x801A0000: ('BadCertificateUntrusted', 'The Certificate is not trusted.'),
272
    0x801B0000: ('BadCertificateRevocationUnknown', 'It was not possible to determine if the Certificate has been revoked.'),
273
    0x801C0000: ('BadCertificateIssuerRevocationUnknown', 'It was not possible to determine if the Issuer Certificate has been revoked.'),
274
    0x801D0000: ('BadCertificateRevoked', 'The certificate has been revoked.'),
275
    0x801E0000: ('BadCertificateIssuerRevoked', 'The issuer certificate has been revoked.'),
276
    0x810D0000: ('BadCertificateChainIncomplete', 'The certificate chain is incomplete.'),
277
    0x801F0000: ('BadUserAccessDenied', 'User does not have permission to perform the requested operation.'),
278
    0x80200000: ('BadIdentityTokenInvalid', 'The user identity token is not valid.'),
279
    0x80210000: ('BadIdentityTokenRejected', 'The user identity token is valid but the server has rejected it.'),
280
    0x80220000: ('BadSecureChannelIdInvalid', 'The specified secure channel is no longer valid.'),
281
    0x80230000: ('BadInvalidTimestamp', 'The timestamp is outside the range allowed by the server.'),
282
    0x80240000: ('BadNonceInvalid', 'The nonce does appear to be not a random value or it is not the correct length.'),
283
    0x80250000: ('BadSessionIdInvalid', 'The session id is not valid.'),
284
    0x80260000: ('BadSessionClosed', 'The session was closed by the client.'),
285
    0x80270000: ('BadSessionNotActivated', 'The session cannot be used because ActivateSession has not been called.'),
286
    0x80280000: ('BadSubscriptionIdInvalid', 'The subscription id is not valid.'),
287
    0x802A0000: ('BadRequestHeaderInvalid', 'The header for the request is missing or invalid.'),
288
    0x802B0000: ('BadTimestampsToReturnInvalid', 'The timestamps to return parameter is invalid.'),
289
    0x802C0000: ('BadRequestCancelledByClient', 'The request was cancelled by the client.'),
290
    0x80E50000: ('BadTooManyArguments', 'Too many arguments were provided.'),
291
    0x002D0000: ('GoodSubscriptionTransferred', 'The subscription was transferred to another session.'),
292
    0x002E0000: ('GoodCompletesAsynchronously', 'The processing will complete asynchronously.'),
293
    0x002F0000: ('GoodOverload', 'Sampling has slowed down due to resource limitations.'),
294
    0x00300000: ('GoodClamped', 'The value written was accepted but was clamped.'),
295
    0x80310000: ('BadNoCommunication', 'Communication with the data source is defined, but not established, and there is no last known value available.'),
296
    0x80320000: ('BadWaitingForInitialData', 'Waiting for the server to obtain values from the underlying data source.'),
297
    0x80330000: ('BadNodeIdInvalid', 'The syntax of the node id is not valid.'),
298
    0x80340000: ('BadNodeIdUnknown', 'The node id refers to a node that does not exist in the server address space.'),
299
    0x80350000: ('BadAttributeIdInvalid', 'The attribute is not supported for the specified Node.'),
300
    0x80360000: ('BadIndexRangeInvalid', 'The syntax of the index range parameter is invalid.'),
301
    0x80370000: ('BadIndexRangeNoData', 'No data exists within the range of indexes specified.'),
302
    0x80380000: ('BadDataEncodingInvalid', 'The data encoding is invalid.'),
303
    0x80390000: ('BadDataEncodingUnsupported', 'The server does not support the requested data encoding for the node.'),
304
    0x803A0000: ('BadNotReadable', 'The access level does not allow reading or subscribing to the Node.'),
305
    0x803B0000: ('BadNotWritable', 'The access level does not allow writing to the Node.'),
306
    0x803C0000: ('BadOutOfRange', 'The value was out of range.'),
307
    0x803D0000: ('BadNotSupported', 'The requested operation is not supported.'),
308
    0x803E0000: ('BadNotFound', 'A requested item was not found or a search operation ended without success.'),
309
    0x803F0000: ('BadObjectDeleted', 'The object cannot be used because it has been deleted.'),
310
    0x80400000: ('BadNotImplemented', 'Requested operation is not implemented.'),
311
    0x80410000: ('BadMonitoringModeInvalid', 'The monitoring mode is invalid.'),
312
    0x80420000: ('BadMonitoredItemIdInvalid', 'The monitoring item id does not refer to a valid monitored item.'),
313
    0x80430000: ('BadMonitoredItemFilterInvalid', 'The monitored item filter parameter is not valid.'),
314
    0x80440000: ('BadMonitoredItemFilterUnsupported', 'The server does not support the requested monitored item filter.'),
315
    0x80450000: ('BadFilterNotAllowed', 'A monitoring filter cannot be used in combination with the attribute specified.'),
316
    0x80460000: ('BadStructureMissing', 'A mandatory structured parameter was missing or null.'),
317
    0x80470000: ('BadEventFilterInvalid', 'The event filter is not valid.'),
318
    0x80480000: ('BadContentFilterInvalid', 'The content filter is not valid.'),
319
    0x80C10000: ('BadFilterOperatorInvalid', 'An unregognized operator was provided in a filter.'),
320
    0x80C20000: ('BadFilterOperatorUnsupported', 'A valid operator was provided, but the server does not provide support for this filter operator.'),
321
    0x80C30000: ('BadFilterOperandCountMismatch', 'The number of operands provided for the filter operator was less then expected for the operand provided.'),
322
    0x80490000: ('BadFilterOperandInvalid', 'The operand used in a content filter is not valid.'),
323
    0x80C40000: ('BadFilterElementInvalid', 'The referenced element is not a valid element in the content filter.'),
324
    0x80C50000: ('BadFilterLiteralInvalid', 'The referenced literal is not a valid value.'),
325
    0x804A0000: ('BadContinuationPointInvalid', 'The continuation point provide is longer valid.'),
326
    0x804B0000: ('BadNoContinuationPoints', 'The operation could not be processed because all continuation points have been allocated.'),
327
    0x804C0000: ('BadReferenceTypeIdInvalid', 'The operation could not be processed because all continuation points have been allocated.'),
328
    0x804D0000: ('BadBrowseDirectionInvalid', 'The browse direction is not valid.'),
329
    0x804E0000: ('BadNodeNotInView', 'The node is not part of the view.'),
330
    0x804F0000: ('BadServerUriInvalid', 'The ServerUri is not a valid URI.'),
331
    0x80500000: ('BadServerNameMissing', 'No ServerName was specified.'),
332
    0x80510000: ('BadDiscoveryUrlMissing', 'No DiscoveryUrl was specified.'),
333
    0x80520000: ('BadSempahoreFileMissing', 'The semaphore file specified by the client is not valid.'),
334
    0x80530000: ('BadRequestTypeInvalid', 'The security token request type is not valid.'),
335
    0x80540000: ('BadSecurityModeRejected', 'The security mode does not meet the requirements set by the Server.'),
336
    0x80550000: ('BadSecurityPolicyRejected', 'The security policy does not meet the requirements set by the Server.'),
337
    0x80560000: ('BadTooManySessions', 'The server has reached its maximum number of sessions.'),
338
    0x80570000: ('BadUserSignatureInvalid', 'The user token signature is missing or invalid.'),
339
    0x80580000: ('BadApplicationSignatureInvalid', 'The signature generated with the client certificate is missing or invalid.'),
340
    0x80590000: ('BadNoValidCertificates', 'The client did not provide at least one software certificate that is valid and meets the profile requirements for the server.'),
341
    0x80C60000: ('BadIdentityChangeNotSupported', 'The Server does not support changing the user identity assigned to the session.'),
342
    0x805A0000: ('BadRequestCancelledByRequest', 'The request was cancelled by the client with the Cancel service.'),
343
    0x805B0000: ('BadParentNodeIdInvalid', 'The parent node id does not to refer to a valid node.'),
344
    0x805C0000: ('BadReferenceNotAllowed', 'The reference could not be created because it violates constraints imposed by the data model.'),
345
    0x805D0000: ('BadNodeIdRejected', 'The requested node id was reject because it was either invalid or server does not allow node ids to be specified by the client.'),
346
    0x805E0000: ('BadNodeIdExists', 'The requested node id is already used by another node.'),
347
    0x805F0000: ('BadNodeClassInvalid', 'The node class is not valid.'),
348
    0x80600000: ('BadBrowseNameInvalid', 'The browse name is invalid.'),
349
    0x80610000: ('BadBrowseNameDuplicated', 'The browse name is not unique among nodes that share the same relationship with the parent.'),
350
    0x80620000: ('BadNodeAttributesInvalid', 'The node attributes are not valid for the node class.'),
351
    0x80630000: ('BadTypeDefinitionInvalid', 'The type definition node id does not reference an appropriate type node.'),
352
    0x80640000: ('BadSourceNodeIdInvalid', 'The source node id does not reference a valid node.'),
353
    0x80650000: ('BadTargetNodeIdInvalid', 'The target node id does not reference a valid node.'),
354
    0x80660000: ('BadDuplicateReferenceNotAllowed', 'The reference type between the nodes is already defined.'),
355
    0x80670000: ('BadInvalidSelfReference', 'The server does not allow this type of self reference on this node.'),
356
    0x80680000: ('BadReferenceLocalOnly', 'The reference type is not valid for a reference to a remote server.'),
357
    0x80690000: ('BadNoDeleteRights', 'The server will not allow the node to be deleted.'),
358
    0x40BC0000: ('UncertainReferenceNotDeleted', 'The server was not able to delete all target references.'),
359
    0x806A0000: ('BadServerIndexInvalid', 'The server index is not valid.'),
360
    0x806B0000: ('BadViewIdUnknown', 'The view id does not refer to a valid view node.'),
361
    0x80C90000: ('BadViewTimestampInvalid', 'The view timestamp is not available or not supported.'),
362
    0x80CA0000: ('BadViewParameterMismatch', 'The view parameters are not consistent with each other.'),
363
    0x80CB0000: ('BadViewVersionInvalid', 'The view version is not available or not supported.'),
364
    0x40C00000: ('UncertainNotAllNodesAvailable', 'The list of references may not be complete because the underlying system is not available.'),
365
    0x00BA0000: ('GoodResultsMayBeIncomplete', 'The server should have followed a reference to a node in a remote server but did not. The result set may be incomplete.'),
366
    0x80C80000: ('BadNotTypeDefinition', 'The provided Nodeid was not a type definition nodeid.'),
367
    0x406C0000: ('UncertainReferenceOutOfServer', 'One of the references to follow in the relative path references to a node in the address space in another server.'),
368
    0x806D0000: ('BadTooManyMatches', 'The requested operation has too many matches to return.'),
369
    0x806E0000: ('BadQueryTooComplex', 'The requested operation requires too many resources in the server.'),
370
    0x806F0000: ('BadNoMatch', 'The requested operation has no match to return.'),
371
    0x80700000: ('BadMaxAgeInvalid', 'The max age parameter is invalid.'),
372
    0x80E60000: ('BadSecurityModeInsufficient', 'The operation is not permitted over the current secure channel.'),
373
    0x80710000: ('BadHistoryOperationInvalid', 'The history details parameter is not valid.'),
374
    0x80720000: ('BadHistoryOperationUnsupported', 'The server does not support the requested operation.'),
375
    0x80BD0000: ('BadInvalidTimestampArgument', 'The defined timestamp to return was invalid.'),
376
    0x80730000: ('BadWriteNotSupported', 'The server not does support writing the combination of value, status and timestamps provided.'),
377
    0x80740000: ('BadTypeMismatch', 'The value supplied for the attribute is not of the same type as the attribute"s value.'),
378
    0x80750000: ('BadMethodInvalid', 'The method id does not refer to a method for the specified object.'),
379
    0x80760000: ('BadArgumentsMissing', 'The client did not specify all of the input arguments for the method.'),
380
    0x80770000: ('BadTooManySubscriptions', 'The server has reached its  maximum number of subscriptions.'),
381
    0x80780000: ('BadTooManyPublishRequests', 'The server has reached the maximum number of queued publish requests.'),
382
    0x80790000: ('BadNoSubscription', 'There is no subscription available for this session.'),
383
    0x807A0000: ('BadSequenceNumberUnknown', 'The sequence number is unknown to the server.'),
384
    0x807B0000: ('BadMessageNotAvailable', 'The requested notification message is no longer available.'),
385
    0x807C0000: ('BadInsufficientClientProfile', 'The Client of the current Session does not support one or more Profiles that are necessary for the Subscription.'),
386
    0x80BF0000: ('BadStateNotActive', 'The sub-state machine is not currently active.'),
387
    0x807D0000: ('BadTcpServerTooBusy', 'The server cannot process the request because it is too busy.'),
388
    0x807E0000: ('BadTcpMessageTypeInvalid', 'The type of the message specified in the header invalid.'),
389
    0x807F0000: ('BadTcpSecureChannelUnknown', 'The SecureChannelId and/or TokenId are not currently in use.'),
390
    0x80800000: ('BadTcpMessageTooLarge', 'The size of the message specified in the header is too large.'),
391
    0x80810000: ('BadTcpNotEnoughResources', 'There are not enough resources to process the request.'),
392
    0x80820000: ('BadTcpInternalError', 'An internal error occurred.'),
393
    0x80830000: ('BadTcpEndpointUrlInvalid', 'The Server does not recognize the QueryString specified.'),
394
    0x80840000: ('BadRequestInterrupted', 'The request could not be sent because of a network interruption.'),
395
    0x80850000: ('BadRequestTimeout', 'Timeout occurred while processing the request.'),
396
    0x80860000: ('BadSecureChannelClosed', 'The secure channel has been closed.'),
397
    0x80870000: ('BadSecureChannelTokenUnknown', 'The token has expired or is not recognized.'),
398
    0x80880000: ('BadSequenceNumberInvalid', 'The sequence number is not valid.'),
399
    0x80BE0000: ('BadProtocolVersionUnsupported', 'The applications do not have compatible protocol versions.'),
400
    0x80890000: ('BadConfigurationError', 'There is a problem with the configuration that affects the usefulness of the value.'),
401
    0x808A0000: ('BadNotConnected', 'The variable should receive its value from another variable, but has never been configured to do so.'),
402
    0x808B0000: ('BadDeviceFailure', 'There has been a failure in the device/data source that generates the value that has affected the value.'),
403
    0x808C0000: ('BadSensorFailure', 'There has been a failure in the sensor from which the value is derived by the device/data source.'),
404
    0x808D0000: ('BadOutOfService', 'The source of the data is not operational.'),
405
    0x808E0000: ('BadDeadbandFilterInvalid', 'The deadband filter is not valid.'),
406
    0x408F0000: ('UncertainNoCommunicationLastUsableValue', 'Communication to the data source has failed. The variable value is the last value that had a good quality.'),
407
    0x40900000: ('UncertainLastUsableValue', 'Whatever was updating this value has stopped doing so.'),
408
    0x40910000: ('UncertainSubstituteValue', 'The value is an operational value that was manually overwritten.'),
409
    0x40920000: ('UncertainInitialValue', 'The value is an initial value for a variable that normally receives its value from another variable.'),
410
    0x40930000: ('UncertainSensorNotAccurate', 'The value is at one of the sensor limits.'),
411
    0x40940000: ('UncertainEngineeringUnitsExceeded', 'The value is outside of the range of values defined for this parameter.'),
412
    0x40950000: ('UncertainSubNormal', 'The value is derived from multiple sources and has less than the required number of Good sources.'),
413
    0x00960000: ('GoodLocalOverride', 'The value has been overridden.'),
414
    0x80970000: ('BadRefreshInProgress', 'This Condition refresh failed, a Condition refresh operation is already in progress.'),
415
    0x80980000: ('BadConditionAlreadyDisabled', 'This condition has already been disabled.'),
416
    0x80CC0000: ('BadConditionAlreadyEnabled', 'This condition has already been enabled.'),
417
    0x80990000: ('BadConditionDisabled', 'Property not available, this condition is disabled.'),
418
    0x809A0000: ('BadEventIdUnknown', 'The specified event id is not recognized.'),
419
    0x80BB0000: ('BadEventNotAcknowledgeable', 'The event cannot be acknowledged.'),
420
    0x80CD0000: ('BadDialogNotActive', 'The dialog condition is not active.'),
421
    0x80CE0000: ('BadDialogResponseInvalid', 'The response is not valid for the dialog.'),
422
    0x80CF0000: ('BadConditionBranchAlreadyAcked', 'The condition branch has already been acknowledged.'),
423
    0x80D00000: ('BadConditionBranchAlreadyConfirmed', 'The condition branch has already been confirmed.'),
424
    0x80D10000: ('BadConditionAlreadyShelved', 'The condition has already been shelved.'),
425
    0x80D20000: ('BadConditionNotShelved', 'The condition is not currently shelved.'),
426
    0x80D30000: ('BadShelvingTimeOutOfRange', 'The shelving time not within an acceptable range.'),
427
    0x809B0000: ('BadNoData', 'No data exists for the requested time range or event filter.'),
428
    0x80D70000: ('BadBoundNotFound', 'No data found to provide upper or lower bound value.'),
429
    0x80D80000: ('BadBoundNotSupported', 'The server cannot retrieve a bound for the variable.'),
430
    0x809D0000: ('BadDataLost', 'Data is missing due to collection started/stopped/lost.'),
431
    0x809E0000: ('BadDataUnavailable', 'Expected data is unavailable for the requested time range due to an un-mounted volume, an off-line archive or tape, or similar reason for temporary unavailability.'),
432
    0x809F0000: ('BadEntryExists', 'The data or event was not successfully inserted because a matching entry exists.'),
433
    0x80A00000: ('BadNoEntryExists', 'The data or event was not successfully updated because no matching entry exists.'),
434
    0x80A10000: ('BadTimestampNotSupported', 'The client requested history using a timestamp format the server does not support (i.e requested ServerTimestamp when server only supports SourceTimestamp).'),
435
    0x00A20000: ('GoodEntryInserted', 'The data or event was successfully inserted into the historical database.'),
436
    0x00A30000: ('GoodEntryReplaced', 'The data or event field was successfully replaced in the historical database.'),
437
    0x40A40000: ('UncertainDataSubNormal', 'The value is derived from multiple values and has less than the required number of Good values.'),
438
    0x00A50000: ('GoodNoData', 'No data exists for the requested time range or event filter.'),
439
    0x00A60000: ('GoodMoreData', 'The data or event field was successfully replaced in the historical database.'),
440
    0x80D40000: ('BadAggregateListMismatch', 'The requested number of Aggregates does not match the requested number of NodeIds.'),
441
    0x80D50000: ('BadAggregateNotSupported', 'The requested Aggregate is not support by the server.'),
442
    0x80D60000: ('BadAggregateInvalidInputs', 'The aggregate value could not be derived due to invalid data inputs.'),
443
    0x80DA0000: ('BadAggregateConfigurationRejected', 'The aggregate configuration is not valid for specified node.'),
444
    0x00D90000: ('GoodDataIgnored', 'The request pecifies fields which are not valid for the EventType or cannot be saved by the historian.'),
445
    0x80E40000: ('BadRequestNotAllowed', 'The request was rejected by the server because it did not meet the criteria set by the server.'),
446
    0x00DC0000: ('GoodEdited', 'The value does not come from the real source and has been edited by the server.'),
447
    0x00DD0000: ('GoodPostActionFailed', 'There was an error in execution of these post-actions.'),
448
    0x40DE0000: ('UncertainDominantValueChanged', 'The related EngineeringUnit has been changed but the Variable Value is still provided based on the previous unit.'),
449
    0x00E00000: ('GoodDependentValueChanged', 'A dependent value has been changed but the change has not been applied to the device.'),
450
    0x80E10000: ('BadDominantValueChanged', 'The related EngineeringUnit has been changed but this change has not been applied to the device. The Variable Value is still dependent on the previous unit but its status is currently Bad.'),
451
    0x40E20000: ('UncertainDependentValueChanged', 'A dependent value has been changed but the change has not been applied to the device. The quality of the dominant variable is uncertain.'),
452
    0x80E30000: ('BadDependentValueChanged', 'A dependent value has been changed but the change has not been applied to the device. The quality of the dominant variable is Bad.'),
453
    0x00A70000: ('GoodCommunicationEvent', 'The communication layer has raised an event.'),
454
    0x00A80000: ('GoodShutdownEvent', 'The system is shutting down.'),
455
    0x00A90000: ('GoodCallAgain', 'The operation is not finished and needs to be called again.'),
456
    0x00AA0000: ('GoodNonCriticalTimeout', 'A non-critical timeout occurred.'),
457
    0x80AB0000: ('BadInvalidArgument', 'One or more arguments are invalid.'),
458
    0x80AC0000: ('BadConnectionRejected', 'Could not establish a network connection to remote server.'),
459
    0x80AD0000: ('BadDisconnect', 'The server has disconnected from the client.'),
460
    0x80AE0000: ('BadConnectionClosed', 'The network connection has been closed.'),
461
    0x80AF0000: ('BadInvalidState', 'The operation cannot be completed because the object is closed, uninitialized or in some other invalid state.'),
462
    0x80B00000: ('BadEndOfStream', 'Cannot move beyond end of the stream.'),
463
    0x80B10000: ('BadNoDataAvailable', 'No data is currently available for reading from a non-blocking stream.'),
464
    0x80B20000: ('BadWaitingForResponse', 'The asynchronous operation is waiting for a response.'),
465
    0x80B30000: ('BadOperationAbandoned', 'The asynchronous operation was abandoned by the caller.'),
466
    0x80B40000: ('BadExpectedStreamToBlock', 'The stream did not return all data requested (possibly because it is a non-blocking stream).'),
467
    0x80B50000: ('BadWouldBlock', 'Non blocking behaviour is required and the operation would block.'),
468
    0x80B60000: ('BadSyntaxError', 'A value had an invalid syntax.'),
469
    0x80B70000: ('BadMaxConnectionsReached', 'The operation could not be finished because all available connections are in use.'),
470
}
471
472
473
def get_name_and_doc(val):
474
    if val in code_to_name_doc:
475
        return code_to_name_doc[val]
476
    else:
477
        if uabin.test_bit(val, 31):
478
            return 'Bad', 'Unknown StatusCode value: {0}'.format(val)
479
        elif uabin.test_bit(val, 30):
480
            return 'UncertainIn', 'Unknown StatusCode value: {0}'.format(val)
481
        else:
482
            return 'Good', 'Unknown StatusCode value: {0}'.format(val)
483