// 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);
}
}