--- /dev/null
+#ifndef _CODNS_H_
+#define _CODNS_H_
+#include "ports.h"
+
+/* query info - fixed part */
+typedef struct LocalQueryInfo {
+ int lqi_size; /* length of the name string */
+ int lqi_id; /* query id */
+ int lqi_cache; /* not being used now */
+} LocalQueryInfo;
+
+/* query info + name
+ query structure expected from a client */
+#define MAX_QUERY_NAME 256
+#define SIG_SPLIT_TRANSACTION 0 /* signature for split-transaction */
+typedef struct LocalQuery {
+ int lq_zero; /* always set to SIG_SPLIT_TRANSACTION(=0) */
+ LocalQueryInfo lq_info; /* query info */
+ char lq_name[MAX_QUERY_NAME]; /* name */
+} LocalQuery;
+
+/* query result from CoDNS
+ we set MAX_ANSWERS for easy implementation.
+ if lq.address[i].s_addr == 0, that means it returned i-1 valid anwers. */
+#define MAX_ANSWERS 8
+typedef struct LocalQueryResult {
+ int lq_id; /* query id */
+ int lq_ttl; /* TTL of the record */
+ struct in_addr lq_address[MAX_ANSWERS]; /* IP addresses for the query */
+} LocalQueryResult;
+
+/*----------------------------------------------------------------------*/
+
+/* temporary section : from here to the end
+ used for defining variables or constants for testing */
+
+/* for testing in HBTWGET */
+#define HBTWGET_CODNS_ID (-3)
+
+#endif // _CODNS_H_
+
+