1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
3 ;;; --- DNS client constants.
6 (in-package :net.sockets
)
8 (defconstant +dns-max-datagram-size
+ 4096)
10 (defconstant +opcode-standard
+ 0)
14 (define-constant +query-type-map
+
15 '((:a .
1) (:ns .
2) (:cname .
5) (:soa .
6)
16 (:wks .
11) (:ptr .
12) (:hinfo .
13) (:mx .
15)
17 (:txt .
16) (:aaaa .
28) (:any .
255))
20 (defun query-type-number (id)
21 (cdr (assoc id
+query-type-map
+)))
23 (defun query-type-id (number)
24 (car (rassoc number
+query-type-map
+)))
26 (defun dns-record-type-p (id)
27 (query-type-number id
))
31 (define-constant +query-class-map
+
32 '((:in .
1) (:any .
255))
35 (defun query-class-number (id)
36 (cdr (assoc id
+query-class-map
+)))
38 (defun query-class-id (number)
39 (car (rassoc number
+query-class-map
+)))
43 (define-constant +rcode-map
+
44 '((:no-error .
0) (:format-error .
1)
45 (:server-failure .
2) (:name-error .
3)
46 (:not-implemented .
4) (:refused .
5))
49 (defun rcode-number (id)
50 (cdr (assoc id
+rcode-map
+)))
52 (defun rcode-id (number)
53 (car (rassoc number
+rcode-map
+)))