aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/asn1_SUITE_data/rfcs/DOR-definition.asn1
blob: cd3330dc56bdf18951685ce73182a29adad8ed41 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
-- Module DOR-definition (ISO|IEC 10031-2:1991)
DOR-definition {joint-iso-itu-t dor(4) reference-definition(0)} DEFINITIONS ::=
BEGIN

EXPORTS
  AE-Identifier, Altered-value, DOR, dor-abstract-syntax, dor-syntax-asn1,
    dorx, Extend-QoS, Local-reference, Locational-identifier, Produce-QoS,
    QoS-level, Quality-of-Service, Requested-QoS-level,
    Single-use-of-reference, Token;

IMPORTS
  DistinguishedName
    FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
      informationFramework(1) 3}
  PresentationAddress
    FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
      selectedAttributeTypes(5) 3};

-- Defined Object Identifiers
dorx OBJECT IDENTIFIER ::=
  {joint-iso-itu-t dor(11)}

-- Object identifier for abstract syntax of DOR
dor-abstract-syntax OBJECT IDENTIFIER ::=
  {dorx reference-abstract-syntax(1)}

-- Object identifier for abstract syntax of DOR with basic ASN.1 encodings in
-- EXTERNAL
dor-syntax-asn1 OBJECT IDENTIFIER ::=
  {dorx reference-syntax(2) asn1(0)}

-- Definition of DOR type
DOR ::= SEQUENCE {
  ae-identifier       [0]  AE-Identifier OPTIONAL,
  --  mandatory in case of produce-operations and consume-operations
  local-reference     [1]  Local-reference,
  data-object-type    OBJECT IDENTIFIER,
  -- identifying the abstract syntax and  the transfer syntax of the
  -- referenced data value
  quality-of-service  [2]  Quality-of-Service DEFAULT {},
  token               [3]  Token OPTIONAL
}

AE-Identifier ::= SEQUENCE { -- at least one component shall be present
  locational-identifier        [0]  Locational-identifier OPTIONAL,
  direct-logical-identifier    [1]  DistinguishedName OPTIONAL,
  indirect-logical-identifier  [2]  DistinguishedName OPTIONAL
}

Locational-identifier ::= SEQUENCE {
  presentation-address  [0]  PresentationAddress,
  ae-title              [1]  AE-title OPTIONAL,
  -- as defined in ISO 8650:1988/Cor.1:1990 
  application-contexts  SET OF OBJECT IDENTIFIER
}

Local-reference ::= SEQUENCE {
  application         [0]  OCTET STRING OPTIONAL,
  specific-reference  [1]  OCTET STRING
}

Quality-of-Service ::= SEQUENCE {
  qoS-level           [0]  QoS-level DEFAULT level-1:NULL,
  usage-of-reference  Single-use-of-reference DEFAULT TRUE
}

QoS-level ::= CHOICE {
  level-1  [1] IMPLICIT NULL,
  level-2  [2] IMPLICIT GeneralizedTime,
  -- specifying the produce time 
  level-3
    [3] IMPLICIT SEQUENCE {produce-time   GeneralizedTime,
                           fidelity-time  GeneralizedTime}
}

Single-use-of-reference ::= BOOLEAN

Token ::= CHOICE {
  simpletoken    OCTET STRING,
  -- used to validate an access which use this DOR
  externaltoken  EXTERNAL -- for future proxy mechanism
}

-- Data types for produce-operations
Produce-QoS ::= SEQUENCE {
  qoS-level           [0]  Requested-QoS-level DEFAULT level-1:NULL,
  usage-of-reference  Single-use-of-reference DEFAULT TRUE
}

Requested-QoS-level ::= CHOICE {
  level-1  [1] IMPLICIT NULL,
  level-2  [2] IMPLICIT NULL,
  level-3  [3] IMPLICIT GeneralizedTime
  -- specifying the requested fidelity-time
}

-- Data types for extending a specific QoS
Extend-QoS ::= SEQUENCE {
  qoS-level           [0]  Requested-QoS-level OPTIONAL,
  -- if omitted, no change required
  usage-of-reference  Single-use-of-reference OPTIONAL
  -- if omitted, no change required
}

-- Data types for requesting / indicating value alteration in produce-operation
-- or access-operation
Altered-value ::= ENUMERATED {
  value-not-altered(1), value-altered(2), undefined(3)}

-- dw: definition of AE-title, as defined in ISO 8650:1988/Cor.1:1990 
-- dw: defined in-line here so we don't need to import it, original comments
-- dw: are as they appear in the 8650:1988 Annex E
AP-title ::= TYPE-IDENTIFIER.&Type

-- The exact definition and values used for AP-title
-- should be chosen taking into account the ongoing 
-- work in areas of naming, the Directory, and the 
-- Registration Authority procedures for AE titles,
-- AE titles, and AE qualifiers
AE-qualifier ::= TYPE-IDENTIFIER.&Type

-- The exact definition and values used for AE-qualifier
-- should be chosen taking into account the ongoing 
-- work in areas of naming, the Directory, and the 
-- Registration Authority procedures for AE titles,
-- AE titles, and AE qualifiers
AE-title ::= SEQUENCE {ap  AP-title,
                       ae  AE-qualifier
}

END -- of DOR-definition

-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D