MSWSP: use GuidPropertySet_find_guid() in parse_CFullPropSpec()
[wireshark-wip.git] / asn1 / p1 / p1.cnf
blobf58377ca1e46e1cdbac6b4bdd197f59af6f086e3
1 # p1.cnf
2 # X.411 (MTA Access and Transfer) conformance file
3 # $Id$
5 #.TYPE_ATTR
6 CountryName     TYPE = FT_UINT32  DISPLAY = BASE_DEC   STRINGS = VALS(p1_CountryName_U_vals)  BITMASK = 0
7 Time            TYPE = FT_STRING  DISPLAY = BASE_NONE  STRING = NULL BITMASK = 0
9 #.IMPORT ../x509ce/x509ce-exp.cnf
10 #.IMPORT ../x509if/x509if-exp.cnf
11 #.IMPORT ../x509sat/x509sat-exp.cnf
12 #.IMPORT ../x509af/x509af-exp.cnf
13 #.IMPORT ../ros/ros-exp.cnf
14 #.IMPORT ../rtse/rtse-exp.cnf
16 #.OMIT_ASSIGNMENT
17 # These gives unused code warnings
18 MTAOriginatorRequestedAlternateRecipient
20 #The following are only referenced through the SIGNATURE MACRO
21 #and so have no representation on the wire.
22 ProofOfDeliveryAlgorithmIdentifier
23 ContentIntegrityAlgorithmIdentifier
24 MessageOriginAuthenticationAlgorithmIdentifier
25 ProbeOriginAuthenticationAlgorithmIdentifier
26 ReportOriginAuthenticationAlgorithmIdentifier
27 ProofOfSubmissionAlgorithmIdentifier
29 BilateralDomain
30 DeliveryControls
31 RTSE-apdus
32 MTSInvokeIds
34 RTTPapdu
35 RTTRapdu
36 RTABapdu
37 AbortReason
38 #.END
40 #.NO_EMIT
41 # These fields are only used through COMPONENTS OF,
42 # and consequently generate unused code warnings
43 PerMessageTransferFields
44 PerProbeTransferFields
45 PerReportTransferFields
46 PerMessageSubmissionFields
47 PerProbeSubmissionFields
48 PerReportDeliveryFields
49 PerRecipientReportFields
50 #PerRecipientReportFields/report-type
51 InternalAdditionalActions
52 AdditionalActions
53 NonBasicParameters
54 #.END
56 #.EXPORTS
57 EXTENSION
58 Content
59 ContentIdentifier
60 ContentIntegrityCheck
61 ContentLength
62 ContentType
63 Credentials
64 EncodedInformationTypes
65 EncodedInformationTypesConstraints
66 ExtendedCertificates
67 ExtendedContentType
68 ExtensionField
69 G3FacsimileNonBasicParameters
70 ImproperlySpecifiedRecipients
71 InitiatorCredentials
72 MessageDeliveryIdentifier
73 MessageDeliveryTime
74 MessageOriginAuthenticationCheck
75 MessageSecurityLabel
76 MessageSecurityLabel_PDU
77 MessageSubmissionEnvelope
78 MessageSubmissionIdentifier
79 MessageSubmissionTime
80 MessageToken
81 ORAddress
82 ORAddressAndOrDirectoryName
83 OriginatorName
84 ORName
85 OriginalEncodedInformationTypes
86 OriginatingMTACertificate
87 OtherMessageDeliveryFields
88 PerMessageIndicators
89 PerRecipientProbeSubmissionFields
90 ProbeSubmissionEnvelope
91 ProbeSubmissionIdentifier
92 ProbeSubmissionTime
93 ProofOfSubmission
94 RequestedDeliveryMethod
95 ResponderCredentials
96 SecurityContext
97 SecurityLabel
98 SecurityProblem
99 SupplementaryInformation
100 TeletexNonBasicParameters
101 UniversalOrBMPString
102 NonDeliveryReasonCode
103 NonDeliveryDiagnosticCode
105 # Forward declaration of Classes
106 # CONNECTION-PACKAGE CONTRACT from ROS
107 #.CLASS CONNECTION-PACKAGE
108 &bind                ClassReference OPERATION
109 &unbind              ClassReference OPERATION
110 &responderCanUnbind  BooleanType
111 &unbindCanFail       BooleanType
112 &id                  ObjectIdentifierType
113 #.END
115 #.CLASS APPLICATION-CONTEXT
116 &associationContract    ClassReference CONTRACT
117 &associationRealization
118 &transferRealization
119 &AbstractSyntaxes       ClassReference ABSTRACT-SYNTAX
120 &applicationContextName ObjectIdentifierType
121 #.END
124 #.CLASS CONTRACT
125 &connection           ClassReference CONNECTION-PACKAGE
126 &OperationsOf         ClassReference OPERATION-PACKAGE
127 &InitiatorConsumerOf  ClassReference OPERATION-PACKAGE
128 &InitiatorSupplierOf  ClassReference OPERATION-PACKAGE
129 &id                   ObjectIdentifierType
130 #.END
132 #.CLASS MHS-OBJECT
133 &Is                    ClassReference MHS-OBJECT
134 &Initiates             ClassReference CONTRACT
135 &Responds              ClassReference CONTRACT
136 &InitiatesAndResponds  ClassReference CONTRACT
137 &id                    ObjectIdentifierType
138 #.END
140 # Ros OPERATION
141 #.CLASS ABSTRACT-OPERATION
142 &ArgumentType
143 &argumentTypeOptional  BooleanType
144 &returnResult          BooleanType
145 &ResultType
146 &resultTypeOptional    BooleanType
147 &Errors                ClassReference ERROR
148 &Linked                ClassReference OPERATION
149 &synchronous           BooleanType
150 &alwaysReturns         BooleanType
151 &InvokePriority        _FixedTypeValueSetFieldSpec
152 &ResultPriority        _FixedTypeValueSetFieldSpec
153 &operationCode         TypeReference Code
154 #.END
156 # ros ERROR
157 #.CLASS ABSTRACT-ERROR
158 &ParameterType
159 &parameterTypeOptional  BooleanType
160 &ErrorPriority          _FixedTypeValueSetFieldSpec
161 &errorCode              TypeReference Code
162 #.END
164 #.CLASS EXTENSION
165 &id                     TypeReference ExtensionType
166 &Type
167 &absent                 _VariableTypeValueSetFieldSpec
168 &recommended            TypeReference Criticality
169 #.END
171 #.CLASS EXTENSION-ATTRIBUTE
172 &id                     IntegerType
173 &Type
174 #.END
176 #.CLASS TOKEN-DATA
177 &id                     IntegerType
178 &Type
179 #.END
182 #.TYPE_RENAME
183 MTABindArgument/authenticated   AuthenticatedArgument
184 MTABindResult/authenticated     AuthenticatedResult
186 ExtensionField/value            ExtensionValue
187 SecurityCategory/value          CategoryValue
189 #.FIELD_RENAME
190 PrivateDomainName/printable             printable-private-domain-name
191 PrivateDomainName/numeric               numeric-private-domain-name
192 PrivateDomainIdentifier/printable       printable-private-domain-identifier
193 PrivateDomainIdentifier/numeric         numeric-private-domain-identifier
195 TeletexPersonalName/surname     teletex-surname
196 PersonalName/surname            printable-surname
197 UniversalPersonalName/surname   universal-surname
199 TeletexPersonalName/given-name  teletex-given-name
200 PersonalName/given-name         printable-given-name
201 UniversalPersonalName/given-name        universal-given-name
203 TeletexPersonalName/initials    teletex-initials
204 PersonalName/initials           printable-initials
205 UniversalPersonalName/initials  universal-initials
207 TeletexPersonalName/generation-qualifier        teletex-generation-qualifier
208 PersonalName/generation-qualifier               printable-generation-qualifier
209 UniversalPersonalName/generation-qualifier      universal-generation-qualifier
211 BuiltInDomainDefinedAttribute/type      printable-type
212 UniversalDomainDefinedAttribute/type    universal-type
213 SecurityCategory/type                   category-type
214 ExtensionField/type                     extension-type
216 TeletexDomainDefinedAttribute/value     teletex-value
217 BuiltInDomainDefinedAttribute/value     printable-value
218 UniversalDomainDefinedAttribute/value   universal-value
219 SecurityCategory/value                  category-value
220 ExtensionField/value                    extension-value
222 LastTraceInformation/report-type        trace-report-type
223 PerRecipientReportDeliveryFields/report-type    delivery-report-type
224 PerRecipientReportFields/report-type/delivery           report-type-delivery
226 PerRecipientMessageSubmissionFields/recipient-name      submission-recipient-name
227 PerRecipientProbeSubmissionFields/recipient-name        probe-recipient-name
229 PerRecipientReportTransferFields/actual-recipient-name  mta-actual-recipient-name
231 MessageClass/priority                   class-priority
232 DeliveryQueue/octets                    delivery-queue-octets
233 PerRecipientReportFields/report-type/non-delivery       non-delivery-report
235 MTABindResult/authenticated     authenticated-result
236 MTABindArgument/authenticated   authenticated-argument
238 MTABindResult/authenticated/responder-name      authenticated-responder-name
239 MTABindArgument/authenticated/initiator-name    authenticated-initiator-name
241 RegistrationTypes/extensions            type-extensions
242 RegistrationTypes/extensions/_item      type-extensions-item
244 MessageSubmissionArgument/envelope      message-submission-envelope
246 OtherMessageDeliveryFields/content-type delivered-content-type
247 Report/content                          report-content
249 ReportDeliveryResult/extensions         max-extensions
251 OtherMessageDeliveryFields/originator-name      delivered-originator-name
253 PDSParameter/teletex-string             pds-teletex-string
255 PerDomainBilateralInformation/domain    bilateral-domain
257 Report/envelope                         report-envelope
258 Message/envelope                        message-envelope
260 PerRecipientReportTransferFields/originally-intended-recipient-name     report-originally-intended-recipient-name
262 MessageSubmissionEnvelope/originator-name       mts-originator-name
263 ProbeSubmissionEnvelope/originator-name         mts-originator-name
265 MessageTransferEnvelope/originator-name         mta-originator-name
266 ProbeTransferEnvelope/originator-name           mta-originator-name
268 MessageSubmissionEnvelope/per-recipient-fields  per-recipient-message-submission-fields
269 ProbeTransferEnvelope/per-recipient-fields      per-recipient-probe-transfer-fields
270 ProbeSubmissionEnvelope/per-recipient-fields    per-recipient-probe-submission-fields
271 ReportDeliveryArgument/per-recipient-fields     per-recipient-report-delivery-fields
272 ReportDeliveryEnvelope/per-recipient-fields     per-recipient-report-delivery-fields
274 MessageSubmissionEnvelope/per-recipient-fields/_item    per-recipient-message-submission-fields-item
275 ProbeTransferEnvelope/per-recipient-fields/_item        per-recipient-probe-transfer-fields-item
276 ProbeSubmissionEnvelope/per-recipient-fields/_item      per-recipient-probe-submission-fields-item
277 ReportDeliveryArgument/per-recipient-fields/_item       per-recipient-report-delivery-fields-item
278 ReportDeliveryEnvelope/per-recipient-fields/_item       per-recipient-report-delivery-fields-item
280 MessageTransferEnvelope/per-recipient-fields/_item      per-recipient-message-fields-item
282 MessageTransferEnvelope/per-recipient-fields            per-recipient-message-fields
283 ReportTransferContent/per-recipient-fields              per-recipient-report-fields
285 AsymmetricTokenData/name/mta                            token-mta
286 AsymmetricTokenData/name/recipient-name                 token-recipient-name
288 TokenData/type                                          token-data-type
289 CertificateSelectors/content-integrity-check            selectors-content-integrity-check
291 #.PDU
293 # This table creates the value_sting to name P3 operation codes and errors
294 # in file packet-p3-table.c which is included in the template file
296 #.TABLE_HDR
297 /* P3 ABSTRACT-OPERATIONS */
298 const value_string p3_opr_code_string_vals[] = {
299 #.TABLE_BODY OPERATION
300         { %(&operationCode)s, "%(_ident)s" },
301 #.TABLE_FTR
302         { 0, NULL }
304 #.END
306 #.TABLE_HDR
307 /* P3 ERRORS */
308 static const value_string p3_err_code_string_vals[] = {
309 #.TABLE_BODY ERROR
310         { %(&errorCode)s, "%(_ident)s" },
311 #.TABLE_FTR
312           { 0, NULL }
314 #.END
316 # Create a table of opcode and corresponding args and res
317 #.TABLE11_HDR
318 static const ros_opr_t p3_opr_tab[] = {
319 #.TABLE11_BODY OPERATION
320   /* %(_name)s */
321   { %(&operationCode)-25s,      %(_argument_pdu)s,      %(_result_pdu)s },
322 #.TABLE11_FTR
323   { 0,                          (new_dissector_t)(-1),  (new_dissector_t)(-1) },
325 #.END
327 #.TABLE21_HDR
328 static const ros_err_t p3_err_tab[] = {
329 #.TABLE21_BODY ERROR
330   /* %(_name)s*/
331   { %(&errorCode)s,     %(_parameter_pdu)s },
332 #.TABLE21_FTR
333   { 0,  (new_dissector_t)(-1) },
335 #.END
337 #.PDU_NEW
338 ERROR.&ParameterType
339 OPERATION.&ArgumentType
340 OPERATION.&ResultType
341 #.END
344 #.REGISTER
345 RecipientReassignmentProhibited                         N p1.extension 1
346 OriginatorRequestedAlternateRecipient   N p1.extension 2
347 DLExpansionProhibited                                           N p1.extension 3
348 ConversionWithLossProhibited                            N p1.extension 4
349 LatestDeliveryTime                                                      N p1.extension 5
350 RequestedDeliveryMethod                                         N p1.extension 6
351 PhysicalForwardingProhibited                            N p1.extension 7
352 PhysicalForwardingAddressRequest                        N p1.extension 8
353 PhysicalDeliveryModes                                           N p1.extension 9
354 RegisteredMailType                                                      N p1.extension 10
355 RecipientNumberForAdvice                                        N p1.extension 11
356 PhysicalRenditionAttributes                                     N p1.extension 12
357 OriginatorReturnAddress                                         N p1.extension 13
358 PhysicalDeliveryReportRequest                           N p1.extension 14
359 OriginatorCertificate                                           N p1.extension 15
360 MessageToken                                                            N p1.extension 16
361 ContentConfidentialityAlgorithmIdentifier       N p1.extension 17
362 ContentIntegrityCheck                                           N p1.extension 18
363 MessageOriginAuthenticationCheck                        N p1.extension 19
364 MessageSecurityLabel                                            N p1.extension 20
365 ProofOfSubmissionRequest                                        N p1.extension 21
366 ProofOfDeliveryRequest                                          N p1.extension 22
367 ContentCorrelator                                                       N p1.extension 23
368 ProbeOriginAuthenticationCheck                          N p1.extension 24
369 RedirectionHistory                                                      N p1.extension 25
370 DLExpansionHistory                                                      N p1.extension 26
371 PhysicalForwardingAddress                                       N p1.extension 27
372 RecipientCertificate                                            N p1.extension 28
373 ProofOfDelivery                                                         N p1.extension 29
374 OriginatorAndDLExpansionHistory                         N p1.extension 30
375 ReportingDLName                                                         N p1.extension 31
376 ReportingMTACertificate                                         N p1.extension 32
377 ReportOriginAuthenticationCheck                         N p1.extension 33
378 ProofOfSubmission                                                       N p1.extension 35
380 TraceInformation                                                        N p1.extension 37
381 InternalTraceInformation                                        N p1.extension 38
382 ReportingMTAName                                                        N p1.extension 39
383 ExtendedCertificates                                            N p1.extension 40
385 DLExemptedRecipients                                            N p1.extension 42
387 CertificateSelectors                                            N p1.extension 45
389 CommonName                                                                      N p1.extension-attribute 1
390 TeletexCommonName                                                       N p1.extension-attribute 2
391 TeletexOrganizationName                                         N p1.extension-attribute 3
392 TeletexPersonalName                                                     N p1.extension-attribute 4
393 TeletexOrganizationalUnitNames                          N p1.extension-attribute 5
394 TeletexDomainDefinedAttributes                          N p1.extension-attribute 6
395 PDSName                                                                         N p1.extension-attribute 7
396 PhysicalDeliveryCountryName                                     N p1.extension-attribute 8
397 PostalCode                                                                      N p1.extension-attribute 9
398 PhysicalDeliveryOfficeName                                      N p1.extension-attribute 10
399 PhysicalDeliveryOfficeNumber                            N p1.extension-attribute 11
400 ExtensionORAddressComponents                            N p1.extension-attribute 12
401 PhysicalDeliveryPersonalName                            N p1.extension-attribute 13
402 PhysicalDeliveryOrganizationName                        N p1.extension-attribute 14
403 ExtensionPhysicalDeliveryAddressComponents      N p1.extension-attribute 15
404 UnformattedPostalAddress                                        N p1.extension-attribute 16
405 StreetAddress                                                           N p1.extension-attribute 17
406 PostOfficeBoxAddress                                            N p1.extension-attribute 18
407 PosteRestanteAddress                                            N p1.extension-attribute 19
408 UniquePostalName                                                        N p1.extension-attribute 20
409 LocalPostalAttributes                                           N p1.extension-attribute 21
410 ExtendedNetworkAddress                                          N p1.extension-attribute 22
411 TerminalType                                                            N p1.extension-attribute 23
412 UniversalCommonName                                                     N p1.extension-attribute 24
413 UniversalOrganizationName                                       N p1.extension-attribute 25
414 UniversalPersonalName                                           N p1.extension-attribute 26
415 UniversalOrganizationalUnitNames                        N p1.extension-attribute 27
416 UniversalDomainDefinedAttributes                        N p1.extension-attribute 28
417 UniversalPhysicalDeliveryOfficeName                     N p1.extension-attribute 29
418 UniversalPhysicalDeliveryOfficeNumber           N p1.extension-attribute 30
419 UniversalExtensionORAddressComponents           N p1.extension-attribute 31
420 UniversalPhysicalDeliveryPersonalName           N p1.extension-attribute 32
421 UniversalPhysicalDeliveryOrganizationName       N p1.extension-attribute 33
422 UniversalExtensionPhysicalDeliveryAddressComponents N p1.extension-attribute 34
423 UniversalUnformattedPostalAddress                       N p1.extension-attribute 35
424 UniversalStreetAddress                                          N p1.extension-attribute 36
425 UniversalPostOfficeBoxAddress                           N p1.extension-attribute 37
426 UniversalPosteRestanteAddress                           N p1.extension-attribute 38
427 UniversalUniquePostalName                                       N p1.extension-attribute 39
428 UniversalLocalPostalAttributes                          N p1.extension-attribute 40
430 #ReportDeliveryArgument B       "2.6.1.4.14"    "id-et-report"
432 AsymmetricToken                 B       "2.6.3.6.0"     "id-tok-asymmetricToken"
433 MTANameAndOptionalGDI   B       "2.6.5.6.0"     "id-on-mtaName"
435 BindTokenSignedData                     N       p1.tokendata 1
436 MessageTokenSignedData          N       p1.tokendata 2
437 # the next two are unlikely to ever be seen (unless in a bad encoding)
438 MessageTokenEncryptedData       N       p1.tokendata 3
439 BindTokenEncryptedData          N       p1.tokendata 4
441 # X402 - see master list in acp133.cnf
443 ContentLength                                   B "2.6.5.2.0" "id-at-mhs-maximum-content-length"
444 ExtendedContentType                             B "2.6.5.2.1" "id-at-mhs-deliverable-content-types"
445 ExtendedEncodedInformationType  B "2.6.5.2.2" "id-at-mhs-exclusively-acceptable-eits"
446 ORName                                                  B "2.6.5.2.3" "id-at-mhs-dl-members"
447 ORAddress                                               B "2.6.5.2.6" "id-at-mhs-or-addresses"
448 ExtendedContentType                             B "2.6.5.2.9" "id-at-mhs-supported-content-types"
449 ORName                                                  B "2.6.5.2.12" "id-at-mhs-dl-archive-service"
450 ORName                                                  B "2.6.5.2.15" "id-at-mhs-dl-subscription-service"
451 ExtendedEncodedInformationType  B "2.6.5.2.17" "id-at-mhs-acceptable-eits"
452 ExtendedEncodedInformationType  B "2.6.5.2.18" "id-at-mhs-unacceptable-eits"
455 # ACP133 - see master list in acp133.cnf
456 ORName                                                          B "2.16.840.1.101.2.1.5.47" "id-at-aLExemptedAddressProcessor"
457 ORAddress                                                       B "2.16.840.1.101.2.2.1.134.1" "id-at-collective-mhs-or-addresses"
459 # MSGeneralAttributeTypes - see master list in p7.cnf
460 CertificateSelectors                            B       "2.6.4.3.80"    "id-att-certificate-selectors"
461 Content                                                         B       "2.6.4.3.1"             "id-att-content"
462 ContentCorrelator                                       B       "2.6.4.3.3"             "id-att-content-correlator"
463 ContentIdentifier                                       B       "2.6.4.3.4"             "id-att-content-identifier"
464 ContentIntegrityCheck                           B       "2.6.4.3.5"             "id-att-content-inetgrity-check"
465 ContentLength                                           B       "2.6.4.3.6"             "id-att-content-length"
466 ExtendedContentType                                     B       "2.6.4.3.8"             "id-att-content-type"
467 ConversionWithLossProhibited            B       "2.6.4.3.9"             "id-att-conversion-with-loss-prohibited"
468 DeferredDeliveryTime                            B       "2.6.4.3.51"    "id-att-deferred-delivery-time"
469 DeliveryFlags                                           B       "2.6.4.3.13"    "id-att-delivery-flags"
470 ORName                                                          B       "2.6.4.3.78"    "id-att-dl-exempted-recipients"
471 DLExpansion                                                     B       "2.6.4.3.14"    "id-att-dl-expansion-history"
472 DLExpansionProhibited                           B       "2.6.4.3.53"    "id-att-dl-expansion-prohibited"
473 InternalTraceInformationElement         B       "2.6.4.3.54"    "id-att-internal-trace-information"
474 LatestDeliveryTime                                      B       "2.6.4.3.55"    "id-att-latest-delivery-time"
475 MessageDeliveryEnvelope                         B       "2.6.4.3.18"    "id-att-message-delivery-envelope"
476 MessageDeliveryTime                                     B       "2.6.4.3.20"    "id-att-message-delivery-time"
477 MTSIdentifier                                           B       "2.6.4.3.19"    "id-att-message-identifier"
478 MessageOriginAuthenticationCheck        B       "2.6.4.3.21"    "id-at-message-orgin-authentication-check"
479 MessageSecurityLabel                            B       "2.6.4.3.22"    "id-att-message-security-label"
480 MessageSubmissionEnvelope                       B       "2.6.4.3.59"    "id-att-message-submission-envelope"
481 MessageSubmissionTime                           B       "2.6.4.3.23"    "id-att-message-submission-time"
482 MessageToken                                            B       "2.6.4.3.24"    "id-att-message-token"
483 ExtendedCertificates                            B       "2.6.4.3.81"    "id-att-multiple-originator-certificates"
484 ORName                                                          B       "2.6.4.3.17"    "id-att-originally-intended-recipient-name"
485 OriginatingMTACertificate                       B       "2.6.4.3.62"    "id-att-originating-MTA-certificate"
486 OriginatorCertificate                           B       "2.6.4.3.26"    "id-att-originator-certificate"
487 ORName                                                          B       "2.6.4.3.27"    "id-att-originator-name"
488 OriginatorReportRequest                         B       "2.6.4.3.63"    "id-att-originator-report-request"
489 OriginatorReturnAddress                         B       "2.6.4.3.64"    "id-att-originator-return-address"
490 ORName                                                          B       "2.6.4.3.28"    "id-att-other-recipient-names"
491 PerMessageIndicators                            B       "2.6.4.3.65"    "id-att-per-message-indicators"
492 PerRecipientMessageSubmissionFields     B       "2.6.4.3.66"    "id-att-per-recipient-message-submission-fields"
493 PerRecipientProbeSubmissionFields       B       "2.6.4.3.67"    "id-att-per-recipient-probe-submission-fields"
494 PerRecipientReportDeliveryFields        B       "2.6.4.3.30"    "id-att-per-recipient-report-delivery-fields"
495 Priority                                                        B       "2.6.4.3.31"    "id-att-priority"
496 ProbeOriginAuthenticationCheck          B       "2.6.4.3.68"    "id-att-probe-origin-authentication-check"
497 ProbeSubmissionEnvelope                         B       "2.6.4.3.69"    "id-att-probe-submission-envelope"
498 ProofOfDeliveryRequest                          B       "2.6.4.3.32"    "id-att-proof-of-delivery-request"
499 ProofOfSubmission                                       B       "2.6.4.3.70"    "id-att-proof-of-submission"
500 ExtendedCertificates                            B       "2.6.4.3.82"    "id-att-recipient-certificate"
501 ORName                                                          B       "2.6.4.3.71"    "id-att-recipient-names"
502 RecipientReassignmentProhibited         B       "2.6.4.3.72"    "id-att-recipient-reassignment-prohibited"
503 Redirection                                                     B       "2.6.4.3.33"    "id-at-redirection-history"
504 ReportDeliveryEnvelope                          B       "2.6.4.3.34"    "id-att-report-delivery-envelope"
505 ReportingDLName                                         B       "2.6.4.3.35"    "id-att-reporting-DL-name"
506 ReportingMTACertificate                         B       "2.6.4.3.36"    "id-att-reporting-MTA-certificate"
507 ReportOriginAuthenticationCheck         B       "2.6.4.3.37"    "id-att-report-origin-authentication-check"
508 SecurityClassification                          B       "2.6.4.3.38"    "id-att-security-classification"
509 SubjectSubmissionIdentifier                     B       "2.6.4.3.40"    "id-att-subject-submission-identifier"
510 ORName                                                          B       "2.6.4.3.41"    "id-att-this-recipient-name"
511 TraceInformationElement                         B       "2.6.4.3.75"    "id-att-trace-information"
513 # IPMSMessageStoreAttributes - see master list in p22.cnf
514 MessageToken                                            B       "2.6.1.7.36"    "id-hat-forwarded-token"
516 #.FN_BODY AdditionalInformation
517    proto_item *item = NULL;
518    int         loffset = 0;
519    guint32     len = 0;
521    /* work out the length */
522    loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
523    (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
525    item = proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_BIG_ENDIAN);
526    tree = proto_item_add_subtree(item, ett_p1_additional_information);
527    proto_item_append_text(tree, " (The use of this field is \"strongly deprecated\".)");
529    offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
531 #.FN_BODY RegistrationTypes/extensions/_item
532 /*XXX not implemented yet */
534 #.FN_BODY ExtensionField/value
535         const char *name;
537         if(actx->external.indirect_ref_present) {
538                 proto_item_append_text(tree, " (%%s)", val_to_str(actx->external.indirect_reference, p1_StandardExtension_vals, "standard-extension %%d"));
539                 if (dissector_try_uint(p1_extension_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
540                         offset = tvb_length(tvb);
541                 } else {
542                         proto_item *item = NULL;
543                         proto_tree *next_tree = NULL;
545                         item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset),
546                                 "Dissector for standard-extension %%d not implemented.  Contact Wireshark developers if you want this supported", actx->external.indirect_reference);
547                         next_tree = proto_item_add_subtree(item, ett_p1_unknown_standard_extension);
548                         offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
549                         expert_add_info(actx->pinfo, item, &ei_p1_unknown_standard_extension);
550                 }
551         } else if (actx->external.direct_ref_present) {
552                 offset = call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
553                 name = oid_resolved_from_string(actx->external.direct_reference);
554                 proto_item_append_text(tree, " (%%s)", name ? name : actx->external.direct_reference);
555         }
558 #.FN_PARS SecurityCategoryIdentifier
559         FN_VARIANT = _str  VAL_PTR = &actx->external.direct_reference
561 #.FN_BODY SecurityCategoryValue
562         const char *name;
564         if (actx->external.direct_reference) {
565                 offset = call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
566                 name = oid_resolved_from_string(actx->external.direct_reference);
567                 proto_item_append_text(tree, " (%%s)", name ? name : actx->external.direct_reference);
568         } else {
569                 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
570         }
572 #.FN_PARS ExtensionAttributeType
573         VAL_PTR = &actx->external.indirect_reference
575 #.FN_BODY ExtensionAttribute/extension-attribute-value
577         proto_item_append_text(tree, " (%%s)", val_to_str(actx->external.indirect_reference, p1_ExtensionAttributeType_vals, "extension-attribute-type %%d"));
578         if (dissector_try_uint(p1_extension_attribute_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
579                 offset =tvb_length(tvb);
580         } else {
581                 proto_item *item = NULL;
582                 proto_tree *next_tree = NULL;
584                 item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset),
585                         "Dissector for extension-attribute-type %%d not implemented.  Contact Wireshark developers if you want this supported", actx->external.indirect_reference);
586                 next_tree = proto_item_add_subtree(item, ett_p1_unknown_extension_attribute_type);
587                 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
588                 expert_add_info(actx->pinfo, item, &ei_p1_unknown_extension_attribute_type);
589         }
592 #.FN_BODY RefusedOperation/refused-argument/refused-extension
593 /*XXX not implemented yet */
595 #.FN_BODY CountryName
596         do_address("/C=", NULL, actx);
598         %(DEFAULT_BODY)s
600 #.FN_BODY AdministrationDomainName
601         do_address("/A=", NULL, actx);
603         %(DEFAULT_BODY)s
605 #.FN_PARS StandardExtension VAL_PTR = &actx->external.indirect_reference
607 #.FN_BODY StandardExtension
608         actx->external.indirect_ref_present = TRUE;
609         actx->external.direct_ref_present = FALSE;
610         %(DEFAULT_BODY)s
612 #.FN_BODY ExtensionType/private-extension  FN_VARIANT = _str  VAL_PTR = &actx->external.direct_reference
613         actx->external.indirect_ref_present = FALSE;
614         actx->external.direct_reference = NULL;
615         %(DEFAULT_BODY)s
616         actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
618 #.FN_PARS ExtendedContentType
619         FN_VARIANT = _str  VAL_PTR = &ctx->content_type_id
621 #.FN_BODY ExtendedContentType
622         const char *name = NULL;
623         p1_address_ctx_t* ctx;
625         if (actx->subtree.tree_ctx == NULL)
626                 actx->subtree.tree_ctx = wmem_new0(wmem_packet_scope(), p1_address_ctx_t);
628         ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
630         %(DEFAULT_BODY)s
632         if(ctx->content_type_id) {
633                 name = oid_resolved_from_string(ctx->content_type_id);
635                 if(!name) name = ctx->content_type_id;
637                 proto_item_append_text(tree, " (%%s)", name);
638         }
640 #.FN_PARS BuiltInContentType/_untag VAL_PTR = &ict
642 #.FN_BODY BuiltInContentType/_untag
643         static guint32  ict = -1;
644         p1_address_ctx_t* ctx;
646         if (actx->subtree.tree_ctx == NULL)
647                 actx->subtree.tree_ctx = wmem_new0(wmem_packet_scope(), p1_address_ctx_t);
649         ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
651   %(DEFAULT_BODY)s
653         /* convert integer content type to oid for dispatch when the content is found */
654         switch(ict) {
655         case 2:
656                 ctx->content_type_id = wmem_strdup(wmem_packet_scope(), "2.6.1.10.0");
657                 break;
658         case 22:
659                 ctx->content_type_id = wmem_strdup(wmem_packet_scope(), "2.6.1.10.1");
660                 break;
661         default:
662                 ctx->content_type_id = NULL;
663                 break;
664         }
666 #.FN_BODY Content
667         tvbuff_t *next_tvb;
668         p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
670         /* we can do this now constructed octet strings are supported */
671         offset = dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_index, &next_tvb);
672         proto_item_set_text(actx->created_item, "content (%%u bytes)", tvb_length (next_tvb));
674         if (next_tvb) {
675                 if (ctx && ctx->content_type_id) {
676                         (void) call_ber_oid_callback(ctx->content_type_id, next_tvb, 0, actx->pinfo, actx->subtree.top_tree ? actx->subtree.top_tree : tree, actx->private_data);
677         } else if (ctx && ctx->report_unknown_content_type) {
678                 proto_item *item = NULL;
679                 proto_tree *next_tree = NULL;
681                 proto_tree_add_expert(actx->subtree.top_tree ? actx->subtree.top_tree : tree, actx->pinfo, &ei_p1_unknown_built_in_content_type,
682                                                           next_tvb, 0, tvb_length_remaining(tvb, offset));
683                 if (item) {
684                         next_tree=proto_item_add_subtree(item, ett_p1_content_unknown);
685                 }
686                 dissect_unknown_ber(actx->pinfo, next_tvb, 0, next_tree);
687                 } else {
688                         proto_item_append_text (actx->created_item, " (unknown content-type)");
689                 }
690         }
692 #.FN_PARS MTAName
693         VAL_PTR = &mtaname
695 #.FN_BODY MTAName
696         tvbuff_t        *mtaname = NULL;
697         p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
699         %(DEFAULT_BODY)s
701         if (ctx && ctx->do_address) {
702                 proto_item_append_text(actx->subtree.tree, " %%s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
703         } else {
704                 if (mtaname) {
705                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
706                 }
707         }
709 #.FN_PARS X121Address
710         VAL_PTR=&string
712 #.FN_BODY X121Address
713         tvbuff_t        *string = NULL;
715         %(DEFAULT_BODY)s
717         do_address("/PX121=", string, actx);
719 #.FN_PARS TerminalIdentifier
720         VAL_PTR=&string
722 #.FN_BODY TerminalIdentifier
723         tvbuff_t        *string = NULL;
725         %(DEFAULT_BODY)s
727         do_address("/UA-ID=", string, actx);
729 #.FN_BODY PrivateDomainName
731         do_address("/P=", NULL, actx);
733         %(DEFAULT_BODY)s
735 #.FN_BODY PrivateDomainIdentifier
737         do_address("/P=", NULL, actx);
739         %(DEFAULT_BODY)s
741 #.FN_PARS OrganizationName
742         VAL_PTR=&string
744 #.FN_BODY OrganizationName
745         tvbuff_t        *string = NULL;
747         %(DEFAULT_BODY)s
749         do_address("/O=", string, actx);
751 #.FN_PARS TeletexOrganizationName
752         VAL_PTR=&string
754 #.FN_BODY TeletexOrganizationName
755         tvbuff_t        *string = NULL;
757         %(DEFAULT_BODY)s
759         do_address("/O=", string, actx);
761 #.FN_PARS OrganizationalUnitName
762         VAL_PTR=&string
764 #.FN_BODY OrganizationalUnitName
765         tvbuff_t        *string = NULL;
767         do_address("/OU=", string, actx);
769 #.FN_PARS TeletexOrganizationalUnitName
770         VAL_PTR=&string
772 #.FN_BODY TeletexOrganizationalUnitName
773         tvbuff_t        *string = NULL;
775         %(DEFAULT_BODY)s
777         do_address("/OU=", string, actx);
779 #.FN_PARS CommonName
780         VAL_PTR=&string
782 #.FN_BODY CommonName
783         tvbuff_t        *string = NULL;
785         %(DEFAULT_BODY)s
787         do_address("/CN=", string, actx);
789 #.FN_PARS TeletexCommonName
790         VAL_PTR=&string
792 #.FN_BODY TeletexCommonName
793         tvbuff_t        *string = NULL;
795         %(DEFAULT_BODY)s
797         do_address("/CN=", string, actx);
799 #.FN_BODY CountryName/_untag/iso-3166-alpha2-code  VAL_PTR=&nstring
800         tvbuff_t        *nstring = NULL;
802         %(DEFAULT_BODY)s
804         do_address(NULL, nstring, actx);
806 #.FN_BODY AdministrationDomainName/_untag/printable  VAL_PTR=&nstring
807         tvbuff_t        *nstring = NULL;
809         %(DEFAULT_BODY)s
811         do_address(NULL, nstring, actx);
813 #.FN_BODY PrivateDomainName/printable  VAL_PTR=&nstring
814         tvbuff_t        *nstring = NULL;
816         %(DEFAULT_BODY)s
818         do_address(NULL, nstring, actx);
820 #.FN_BODY PrivateDomainIdentifier/printable  VAL_PTR=&nstring
821         tvbuff_t        *nstring = NULL;
823         %(DEFAULT_BODY)s
825         do_address(NULL, nstring, actx);
827 #.FN_BODY PhysicalDeliveryCountryName/iso-3166-alpha2-code  VAL_PTR=&nstring
828         tvbuff_t        *nstring = NULL;
830         %(DEFAULT_BODY)s
832         do_address(NULL, nstring, actx);
834 #.FN_BODY UserAddress/x121/x121-address  VAL_PTR=&nstring
835         tvbuff_t        *nstring = NULL;
837         %(DEFAULT_BODY)s
839         do_address(NULL, nstring, actx);
841 #.FN_BODY CountryName/_untag/x121-dcc-code  VAL_PTR=&nstring
842         tvbuff_t        *nstring = NULL;
844         %(DEFAULT_BODY)s
846         do_address(NULL, nstring, actx);
848 #.FN_BODY AdministrationDomainName/_untag/numeric  VAL_PTR=&nstring
849         tvbuff_t        *nstring = NULL;
851         %(DEFAULT_BODY)s
853         do_address(NULL, nstring, actx);
855 #.FN_BODY PrivateDomainName/numeric  VAL_PTR=&nstring
856         tvbuff_t        *nstring = NULL;
858         %(DEFAULT_BODY)s
860         do_address(NULL, nstring, actx);
862 #.FN_BODY PrivateDomainIdentifier/numeric  VAL_PTR=&nstring
863         tvbuff_t        *nstring = NULL;
865         %(DEFAULT_BODY)s
867         do_address(NULL, nstring, actx);
869 #.FN_BODY PhysicalDeliveryCountryName/x121-dcc-code  VAL_PTR=&nstring
870         tvbuff_t        *nstring = NULL;
872         %(DEFAULT_BODY)s
874         do_address(NULL, nstring, actx);
876 #.FN_BODY PostalCode/numeric-code  VAL_PTR=&nstring
877         tvbuff_t        *nstring = NULL;
879         %(DEFAULT_BODY)s
881         do_address(NULL, nstring, actx);
884 #.FN_BODY TeletexDomainDefinedAttribute/type  VAL_PTR=&tstring
885         tvbuff_t        *tstring = NULL;
887         %(DEFAULT_BODY)s
889         do_address_str("/DD.", tstring, actx);
891 #.FN_BODY TeletexDomainDefinedAttribute/value  VAL_PTR=&tstring
892         tvbuff_t        *tstring = NULL;
894         %(DEFAULT_BODY)s
896         do_address_str_tree("=", tstring, actx, tree);
898 #.FN_BODY TeletexDomainDefinedAttribute
899         actx->value_ptr = wmem_strbuf_new(wmem_packet_scope(), "");
901         %(DEFAULT_BODY)s
903 #.FN_BODY PersonalName/surname  VAL_PTR=&pstring
904         tvbuff_t        *pstring = NULL;
906         %(DEFAULT_BODY)s
908         do_address("/S=", pstring, actx);
910 #.FN_BODY PersonalName/given-name  VAL_PTR=&pstring
911         tvbuff_t        *pstring = NULL;
913         %(DEFAULT_BODY)s
915         do_address("/G=", pstring, actx);
917 #.FN_BODY PersonalName/initials  VAL_PTR=&pstring
918         tvbuff_t        *pstring = NULL;
920         %(DEFAULT_BODY)s
922         do_address("/I=", pstring, actx);
924 #.FN_BODY PersonalName/generation-qualifier  VAL_PTR=&pstring
925         tvbuff_t        *pstring = NULL;
927         %(DEFAULT_BODY)s
929         do_address("/Q=", pstring, actx);
931 #.FN_BODY TeletexPersonalName/surname  VAL_PTR=&tstring
932         tvbuff_t        *tstring = NULL;
934         %(DEFAULT_BODY)s
936         do_address("/S=", tstring, actx);
938 #.FN_BODY TeletexPersonalName/given-name  VAL_PTR=&tstring
939         tvbuff_t        *tstring = NULL;
941         %(DEFAULT_BODY)s
943         do_address("/G=", tstring, actx);
945 #.FN_BODY TeletexPersonalName/initials  VAL_PTR=&tstring
946         tvbuff_t        *tstring = NULL;
948         %(DEFAULT_BODY)s
950         do_address("/I=", tstring, actx);
952 #.FN_BODY TeletexPersonalName/generation-qualifier  VAL_PTR=&tstring
953         tvbuff_t        *tstring = NULL;
955         %(DEFAULT_BODY)s
957         do_address("/Q=", tstring, actx);
959 #.FN_BODY BuiltInDomainDefinedAttribute/type  VAL_PTR=&pstring
960         tvbuff_t        *pstring = NULL;
962         %(DEFAULT_BODY)s
964         do_address_str("/DD.", pstring, actx);
966 #.FN_BODY BuiltInDomainDefinedAttribute/value  VAL_PTR=&pstring
967         tvbuff_t        *pstring = NULL;
969         %(DEFAULT_BODY)s
971         do_address_str_tree("=", pstring, actx, tree);
973 #.FN_BODY BuiltInDomainDefinedAttribute
974         actx->value_ptr = wmem_strbuf_new(wmem_packet_scope(), "");
976         %(DEFAULT_BODY)s
978 #.FN_BODY ORAddress
979         p1_address_ctx_t* ctx;
981         if (actx->subtree.tree_ctx == NULL) {
982                 actx->subtree.tree_ctx = wmem_new0(wmem_packet_scope(), p1_address_ctx_t);
983         }
985         ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
986         ctx->oraddress = wmem_strbuf_new(wmem_packet_scope(), "");
988         actx->subtree.tree = NULL;
989         set_do_address(actx, TRUE);
991         %(DEFAULT_BODY)s
994         if (ctx->oraddress && (wmem_strbuf_get_len(ctx->oraddress) > 0) && actx->subtree.tree)
995                 proto_item_append_text(actx->subtree.tree, " (%%s/)", wmem_strbuf_get_str(ctx->oraddress));
997         set_do_address(actx, FALSE);
999 #.FN_BODY ORName
1000         p1_address_ctx_t* ctx;
1002         if (actx->subtree.tree_ctx == NULL) {
1003                 actx->subtree.tree_ctx = wmem_new0(wmem_packet_scope(), p1_address_ctx_t);
1004         }
1006         ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
1007         ctx->oraddress = wmem_strbuf_new(wmem_packet_scope(), "");
1009         actx->subtree.tree = NULL;
1010         set_do_address(actx, TRUE);
1012         %(DEFAULT_BODY)s
1014         if (ctx->oraddress && (wmem_strbuf_get_len(ctx->oraddress) > 0) && actx->subtree.tree)
1015                 proto_item_append_text(actx->subtree.tree, " (%%s/)", wmem_strbuf_get_str(ctx->oraddress));
1017         set_do_address(actx, FALSE);
1018 #.FN_BODY MessageIdentifier
1019         actx->subtree.tree = NULL;
1021         %(DEFAULT_BODY)s
1023 #.FN_BODY GlobalDomainIdentifier
1024         p1_address_ctx_t* ctx;
1026         if (actx->subtree.tree_ctx == NULL) {
1027                 actx->subtree.tree_ctx = wmem_new0(wmem_packet_scope(), p1_address_ctx_t);
1028         }
1030         ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
1031         ctx->oraddress = wmem_strbuf_new(wmem_packet_scope(), "");
1033         actx->subtree.tree = tree;
1035         %(DEFAULT_BODY)s
1037         if (ctx->oraddress && (wmem_strbuf_get_len(ctx->oraddress) > 0)) {
1038                 proto_item_append_text(actx->subtree.tree, " (%%s/", wmem_strbuf_get_str(ctx->oraddress));
1040                 if (hf_index == hf_p1_subject_identifier) {
1041                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s/", wmem_strbuf_get_str(ctx->oraddress));
1042                 }
1043         }
1046 #.FN_PARS LocalIdentifier
1047         VAL_PTR=&id
1049 #.FN_BODY LocalIdentifier
1050         tvbuff_t        *id = NULL;
1051         p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
1053         %(DEFAULT_BODY)s
1055         if(id) {
1056                 if (ctx && ctx->do_address)
1057                         proto_item_append_text(actx->subtree.tree, " $ %%s)", tvb_format_text(id, 0, tvb_length(id)));
1059                 if (hf_index == hf_p1_subject_identifier)
1060                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, " $ %%s)", tvb_format_text(id, 0, tvb_length(id)));
1061         }
1063 #.FN_BODY MTSIdentifier
1065         set_do_address(actx, TRUE);
1067         %(DEFAULT_BODY)s
1069         set_do_address(actx, FALSE);
1071 #.FN_BODY MTANameAndOptionalGDI
1073         set_do_address(actx, TRUE);
1075         %(DEFAULT_BODY)s
1077         set_do_address(actx, FALSE);
1078         proto_item_append_text(tree, ")");
1080 #.FN_BODY BuiltInStandardAttributes
1081         actx->subtree.tree = tree;
1083         %(DEFAULT_BODY)s
1085 #.FN_BODY TraceInformationElement
1087         set_do_address(actx, TRUE);
1089         %(DEFAULT_BODY)s
1091         set_do_address(actx, FALSE);
1093 #.FN_BODY InternalTraceInformationElement
1095         set_do_address(actx, TRUE);
1097         %(DEFAULT_BODY)s
1099         set_do_address(actx, FALSE);
1101 #.FN_BODY DomainSuppliedInformation
1103         set_do_address(actx, FALSE);
1105         %(DEFAULT_BODY)s
1107         set_do_address(actx, TRUE);
1108         proto_item_append_text(tree, ")");
1110 #.FN_BODY MTASuppliedInformation
1112         set_do_address(actx, FALSE);
1114         %(DEFAULT_BODY)s
1116         set_do_address(actx, TRUE);
1117         proto_item_append_text(tree, ")");
1119 #.FN_PARS Time
1120         VAL_PTR = &arrival
1122 #.FN_BODY Time
1123         tvbuff_t *arrival = NULL;
1124         p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
1126         %(DEFAULT_BODY)s
1128         if(arrival && ctx && ctx->do_address)
1129                 proto_item_append_text(actx->subtree.tree, " %%s", tvb_format_text(arrival, 0, tvb_length(arrival)));
1131 #.FN_PARS RoutingAction
1132         VAL_PTR = &action
1134 #.FN_BODY RoutingAction
1135         int action = 0;
1137         %(DEFAULT_BODY)s
1139         proto_item_append_text(actx->subtree.tree, " %%s", val_to_str(action, p1_RoutingAction_vals, "action(%%d)"));
1141 #.FN_PARS MTABindError
1142   VAL_PTR=&error
1144 #.FN_BODY MTABindError
1145   int error = -1;
1146   %(DEFAULT_BODY)s
1147   if((error != -1))
1148     col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(error, p1_MTABindError_vals, "error(%%d)"));
1150 #.FN_PARS TokenTypeIdentifier
1151         FN_VARIANT = _str  VAL_PTR = &actx->external.direct_reference
1153 #.FN_BODY TokenTypeData
1155         if(actx->external.direct_reference)
1156                 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
1158 #.FN_PARS Credentials
1159         VAL_PTR = &credentials
1161 #.FN_BODY Credentials
1162   gint credentials = -1;
1164   %(DEFAULT_BODY)s
1166   if( (credentials!=-1) && p1_Credentials_vals[credentials].strptr ){
1167     col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", p1_Credentials_vals[credentials].strptr);
1168   }
1170 #.FN_PARS TokenDataType
1171         VAL_PTR = &actx->external.indirect_reference
1173 #.FN_BODY TokenData/value
1175         proto_item_append_text(tree, " (%%s)", val_to_str(actx->external.indirect_reference, p1_TokenDataType_vals, "tokendata-type %%d"));
1176         if (dissector_try_uint(p1_tokendata_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
1177                 offset = tvb_length(tvb);
1178         } else {
1179                 proto_item *item = NULL;
1180                 proto_tree *next_tree = NULL;
1182                 item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset),
1183                         "Dissector for tokendata-type %%d not implemented.  Contact Wireshark developers if you want this supported", actx->external.indirect_reference);
1184                 next_tree = proto_item_add_subtree(item, ett_p1_unknown_tokendata_type);
1185                 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
1186                 expert_add_info(actx->pinfo, item, &ei_p1_unknown_tokendata_type);
1187         }
1189 #.FN_BODY PerDomainBilateralInformation/bilateral-information
1190         proto_item *item = NULL;
1191         int         loffset = 0;
1192         guint32     len = 0;
1194         /* work out the length */
1195         loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
1196         (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
1198         /* create some structure so we can tell what this unknown ASN.1 represents */
1199         item = proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_BIG_ENDIAN);
1200         tree = proto_item_add_subtree(item, ett_p1_bilateral_information);
1202         offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
1204 #.FN_PARS MTS-APDU
1205         VAL_PTR = &apdu
1207 #.FN_BODY MTS-APDU
1208         gint apdu = -1;
1210         %(DEFAULT_BODY)s
1212         if( (apdu!=-1) && p1_MTS_APDU_vals[apdu].strptr ){
1213                 if(apdu != 0) { /* we don't show "message" - sub-dissectors have better idea */
1214                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", p1_MTS_APDU_vals[apdu].strptr);
1215                 }
1216         }
1218 #.FN_PARS ReportType
1219         VAL_PTR = &report
1221 #.FN_BODY ReportType
1222         gint report = -1;
1224         %(DEFAULT_BODY)s
1226                 if( (report!=-1) && p1_ReportType_vals[report].strptr ){
1227                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", p1_ReportType_vals[report].strptr);
1228         }
1230 #.FN_BODY MessageSubmissionArgument
1231         p1_initialize_content_globals(actx, tree, TRUE);
1232         %(DEFAULT_BODY)s
1233         p1_initialize_content_globals(actx, NULL, FALSE);
1235 #.FN_BODY MessageDeliveryArgument
1236         p1_initialize_content_globals(actx, tree, TRUE);
1237         %(DEFAULT_BODY)s
1238         p1_initialize_content_globals(actx, NULL, FALSE);
1240 #.FN_BODY ReportDeliveryArgument
1241         p1_initialize_content_globals(actx, tree, TRUE);
1242         %(DEFAULT_BODY)s
1243         p1_initialize_content_globals(actx, NULL, FALSE);
1245 #.FN_HDR MTSBindResult
1246         /* TODO: there may be other entry points where this global should be initialized... */
1247         actx->subtree.tree = NULL;
1248 #.END