]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/ndb/dns.h
merge
[plan9front.git] / sys / src / cmd / ndb / dns.h
old mode 100755 (executable)
new mode 100644 (file)
index fd60d12..8a255aa
@@ -1,5 +1,3 @@
-#include <thread.h>            /* for Ref */
-
 #define NS2MS(ns) ((ns) / 1000000L)
 #define S2MS(s)   ((s)  * 1000LL)
 
@@ -184,14 +182,7 @@ struct Request
        jmp_buf mret;           /* where master jumps to after starting a slave */
        int     id;
        char    *from;          /* who asked us? */
-};
-
-typedef struct Querylck Querylck;
-struct Querylck
-{
-       QLock;
-//     Rendez;
-       Ref;
+       void    *aux;
 };
 
 /*
@@ -204,16 +195,10 @@ struct DN
        char    *name;          /* owner */
        RR      *rr;            /* resource records off this name */
        ulong   referenced;     /* time last referenced */
-       ulong   lookuptime;     /* last time we tried to get a better value */
-       /* refs was `char' but we've seen refs > 120, so go whole hog */
-       ulong   refs;           /* for mark and sweep */
        ulong   ordinal;
        ushort  class;          /* RR class */
-       uchar   keep;           /* flag: never age this name */
        uchar   respcode;       /* response code */
-/* was:        char    nonexistent; /* true if we get an authoritative nx for this domain */
-       /* permit only 1 query per (domain name, type) at a time */
-       Querylck querylck[Maxlcks];
+       uchar   mark;           /* for mark and sweep */
 };
 
 /*
@@ -301,12 +286,12 @@ struct RR
        };
        union {                 /* discriminated by type */
                SOA     *soa;   /* soa timers - soa */
+               Srv     *srv;
                Key     *key;
                Cert    *cert;
                Sig     *sig;
                Null    *null;
                Txt     *txt;
-               Srv     *srv;
        };
 };
 
@@ -461,17 +446,15 @@ void      db2cache(int);
 void   dnage(DN*);
 void   dnageall(int);
 void   dnagedb(void);
-void   dnageallnever(void);
-void   dnagenever(DN *, int);
+void   dnagenever(DN *);
 void   dnauthdb(void);
-void   dncheck(void*, int);
 void   dndump(char*);
-void   dnget(void);
 void   dninit(void);
 DN*    dnlookup(char*, int, int);
+DN*    idnlookup(char*, int, int);
+DN*    ipalookup(uchar*, int, int);
 void   dnptr(uchar*, uchar*, char*, int, int, int);
 void   dnpurge(void);
-void   dnput(void);
 void   dnslog(char*, ...);
 void   dnstats(char *file);
 void*  emalloc(int);
@@ -494,6 +477,8 @@ RR* rrlookup(DN*, int, int);
 char*  rrname(int, char*, int);
 RR*    rrremneg(RR**);
 RR*    rrremtype(RR**, int);
+RR*    rrremowner(RR**, DN*);
+RR*    rrremfilter(RR**, int (*)(RR*, void*), void*);
 int    rrsupported(int);
 int    rrtype(char*);
 void   slave(Request*);
@@ -509,16 +494,14 @@ void      addarea(DN *dp, RR *rp, Ndbtuple *t);
 
 /* dblookup.c */
 int    baddelegation(RR*, RR*, uchar*);
-RR*    dbinaddr(DN*, int);
 RR*    dblookup(char*, int, int, int, int);
-void   dnforceage(void);
 RR*    dnsservers(int);
 RR*    domainlist(int);
 int    insideaddr(char *dom);
 int    insidens(uchar *ip);
-int    myaddr(char *addr);
+int    myip(uchar *ip);
 int    opendatabase(void);
-uchar* outsidens(int);
+int    outsidensip(int, uchar *ip);
 
 /* dns.c */
 char*  walkup(char*);
@@ -533,12 +516,10 @@ int       udpport(char *);
 int    mkreq(DN *dp, int type, uchar *buf, int flags, ushort reqno);
 int    seerootns(void);
 void   initdnsmsg(DNSmsg *mp, RR *rp, int flags, ushort reqno);
-DNSmsg*        newdnsmsg(RR *rp, int flags, ushort reqno);
 
 /* dnserver.c */
 void   dnserver(DNSmsg*, DNSmsg*, Request*, uchar *, int);
 void   dnudpserver(char*);
-void   dntcpserver(char*);
 
 /* dnnotify.c */
 void   dnnotify(DNSmsg*, DNSmsg*, Request*);
@@ -550,4 +531,8 @@ int convDNS2M(DNSmsg*, uchar*, int);
 /* convM2DNS.c */
 char*  convM2DNS(uchar*, int, DNSmsg*, int*);
 
+/* idn.c */
+char*  utf2idn(char *, char *, int);
+char*  idn2utf(char *, char *, int);
+
 #pragma varargck argpos dnslog 1