summaryrefslogtreecommitdiffstats
path: root/src/basic/dns-def.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/basic/dns-def.h')
-rw-r--r--src/basic/dns-def.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/basic/dns-def.h b/src/basic/dns-def.h
new file mode 100644
index 0000000..d70220b
--- /dev/null
+++ b/src/basic/dns-def.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+/* Length of a single label, with all escaping removed, excluding any trailing dot or NUL byte */
+#define DNS_LABEL_MAX 63
+
+/* Worst case length of a single label, with all escaping applied and room for a trailing NUL byte. */
+#define DNS_LABEL_ESCAPED_MAX (DNS_LABEL_MAX*4+1)
+
+/* Maximum length of a full hostname, consisting of a series of unescaped labels, and no trailing dot or NUL byte */
+#define DNS_HOSTNAME_MAX 253
+
+/* Maximum length of a full hostname, on the wire, including the final NUL byte */
+#define DNS_WIRE_FORMAT_HOSTNAME_MAX 255
+
+/* Maximum number of labels per valid hostname */
+#define DNS_N_LABELS_MAX 127