| // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org) |
| |
| package org.xbill.DNS; |
| |
| /** |
| * Constants and functions relating to DNS opcodes |
| * |
| * @author Brian Wellington |
| */ |
| |
| public final class Opcode { |
| |
| /** A standard query */ |
| public static final int QUERY = 0; |
| |
| /** An inverse query (deprecated) */ |
| public static final int IQUERY = 1; |
| |
| /** A server status request (not used) */ |
| public static final int STATUS = 2; |
| |
| /** |
| * A message from a primary to a secondary server to initiate a zone transfer |
| */ |
| public static final int NOTIFY = 4; |
| |
| /** A dynamic update message */ |
| public static final int UPDATE = 5; |
| |
| private static Mnemonic opcodes = new Mnemonic("DNS Opcode", |
| Mnemonic.CASE_UPPER); |
| |
| static { |
| opcodes.setMaximum(0xF); |
| opcodes.setPrefix("RESERVED"); |
| opcodes.setNumericAllowed(true); |
| |
| opcodes.add(QUERY, "QUERY"); |
| opcodes.add(IQUERY, "IQUERY"); |
| opcodes.add(STATUS, "STATUS"); |
| opcodes.add(NOTIFY, "NOTIFY"); |
| opcodes.add(UPDATE, "UPDATE"); |
| } |
| |
| private |
| Opcode() {} |
| |
| /** Converts a numeric Opcode into a String */ |
| public static String |
| string(int i) { |
| return opcodes.getText(i); |
| } |
| |
| /** Converts a String representation of an Opcode into its numeric value */ |
| public static int |
| value(String s) { |
| return opcodes.getValue(s); |
| } |
| |
| } |