1 /*
2 * Copyright 2013 The Netty Project
3 *
4 * The Netty Project licenses this file to you under the Apache License,
5 * version 2.0 (the "License"); you may not use this file except in compliance
6 * with the License. You may obtain a copy of the License at:
7 *
8 * https://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 * License for the specific language governing permissions and limitations
14 * under the License.
15 */
16
17 package io.netty.handler.codec.socks;
18
19 public enum SocksCmdStatus {
20 SUCCESS((byte) 0x00),
21 FAILURE((byte) 0x01),
22 FORBIDDEN((byte) 0x02),
23 NETWORK_UNREACHABLE((byte) 0x03),
24 HOST_UNREACHABLE((byte) 0x04),
25 REFUSED((byte) 0x05),
26 TTL_EXPIRED((byte) 0x06),
27 COMMAND_NOT_SUPPORTED((byte) 0x07),
28 ADDRESS_NOT_SUPPORTED((byte) 0x08),
29 UNASSIGNED((byte) 0xff);
30
31 private final byte b;
32
33 SocksCmdStatus(byte b) {
34 this.b = b;
35 }
36
37 /**
38 * @deprecated Use {@link #valueOf(byte)} instead.
39 */
40 @Deprecated
41 public static SocksCmdStatus fromByte(byte b) {
42 return valueOf(b);
43 }
44
45 public static SocksCmdStatus valueOf(byte b) {
46 for (SocksCmdStatus code : values()) {
47 if (code.b == b) {
48 return code;
49 }
50 }
51 return UNASSIGNED;
52 }
53
54 public byte byteValue() {
55 return b;
56 }
57 }