aboutsummaryrefslogtreecommitdiff
path: root/src/org/xbill/DNS/Opcode.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/xbill/DNS/Opcode.java')
-rw-r--r--src/org/xbill/DNS/Opcode.java60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/org/xbill/DNS/Opcode.java b/src/org/xbill/DNS/Opcode.java
new file mode 100644
index 0000000..dadbca1
--- /dev/null
+++ b/src/org/xbill/DNS/Opcode.java
@@ -0,0 +1,60 @@
+// 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);
+}
+
+}