1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 *
19 */
20
21 package org.apache.directory.server.dns.messages;
22
23
24 import org.apache.directory.server.dns.util.EnumConverter;
25 import org.apache.directory.server.dns.util.ReverseEnumMap;
26
27
28 /**
29 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
30 * @version $Rev: 547524 $, $Date: 2007-06-15 06:42:26 +0200 (Fr, 15 Jun 2007) $
31 */
32 public enum ProtocolType implements EnumConverter<Byte>
33 {
34 /** Null */
35 NULL(0),
36
37 /** Internet Conrol Message */
38 ICMP(1),
39
40 /** Internet Group Management */
41 IGMP(2),
42
43 /** Gateway-to-Gateway */
44 GGP(3),
45
46 /** Stream */
47 ST(5),
48
49 /** Transmission control */
50 TCP(6),
51
52 /** UCL */
53 UCL(7),
54
55 /** Exterior Gateway Protocol */
56 EGP(8),
57
58 /** any private interior gateway */
59 IGP(9),
60
61 /** BBN RCC Monitoring */
62 BBN_RCC_MON(10),
63
64 /** Network Voice Protocol */
65 NVP_II(11),
66
67 /** PUP */
68 PUP(12),
69
70 /** ARGUS */
71 ARGUS(13),
72
73 /** EMCON */
74 EMCON(14),
75
76 /** Cross Net Debugger */
77 XNET(15),
78
79 /** Chaos */
80 CHAOS(16),
81
82 /** User Datagram */
83 UDP(17),
84
85 /** Multiplexing */
86 MUX(18),
87
88 /** DCN Measurement Subsystems */
89 DCN_MEAS(19),
90
91 /** Host Monitoring */
92 HMP(20),
93
94 /** Packet Radio Measurement */
95 PRM(21),
96
97 /** XEROX NS IDP */
98 XNS_IDP(22),
99
100 /** Trunk-1 */
101 TRUNK_1(23),
102
103 /** Trunk-2 */
104 TRUNK_2(24),
105
106 /** Leaf-1 */
107 LEAF_1(25),
108
109 /** Leaf-2 */
110 LEAF_2(26),
111
112 /** Reliable Data Protocol */
113 RDP(27),
114
115 /** Internet Reliable Transaction */
116 IRTP(28),
117
118 /** ISO Transport Protocol Class 4 */
119 ISO_TP4(29),
120
121 /** Bulk Data Transfer Protocol */
122 NETBLT(30),
123
124 /** MFE Network Services Protocol */
125 MFE_NSP(31),
126
127 /** MERIT Internodal Protocol */
128 MERIT_INP(32),
129
130 /** Sequential Exchange Protocol */
131 SEP(33),
132
133 /** CFTP */
134 CFTP(62),
135
136 /** SATNET and Backroom EXPAK */
137 SAT_EXPAK(64),
138
139 /** MIT Subnet Support */
140 MIT_SUBNET(65),
141
142 /** MIT Remote Virtual Disk Protocol */
143 RVD(66),
144
145 /** Internet Pluribus Packet Core */
146 IPPC(67),
147
148 /** SATNET Monitoring */
149 SAT_MON(69),
150
151 /** Internet Packet Core Utility */
152 IPCV(71),
153
154 /** Backroom SETNET Monitoring */
155 BR_SAT_MON(76),
156
157 /** WIDEBAND Monitoring */
158 WB_MON(78),
159
160 /** WIDEBAND EXPAK */
161 WB_EXPAK(79);
162
163 private static ReverseEnumMap<Byte, ProtocolType> map = new ReverseEnumMap<Byte, ProtocolType>( ProtocolType.class );
164
165 private final byte value;
166
167
168 private ProtocolType( int value )
169 {
170 this.value = ( byte ) value;
171 }
172
173
174 public Byte convert()
175 {
176 return this.value;
177 }
178
179
180 /**
181 * Converts an ordinal value into a {@link ProtocolType}.
182 *
183 * @param value
184 * @return The {@link ProtocolType}.
185 */
186 public static ProtocolType convert( byte value )
187 {
188 return map.get( value );
189 }
190 }