chiark / gitweb /
many improvements: use Get/SetAssocData for idtables to avoid globals, and adns bindi...
[chiark-tcl.git] / base / tables-examples.tct
index 83961304d14e359091df7fb61a6ba014ba37cb8f..98c6cd98cca3118383b2dcf483e4cf1ce01fbbec 100644 (file)
@@ -5,6 +5,8 @@ Type hbv:                       HBytes_Var @
 Init hbv                       @.hb=0; init_somethingv(&@.sth);
 Fini hbv                       fini_somethingv(ip, rc, &@.sth);
 
+Type constv(Tcl_ObjType*):     Tcl_Obj *@
+
 Type maskmapv:                 MaskMap_Var @
 Init maskmapv                  @.mm=0; init_somethingv(&@.sth);
 Fini maskmapv                  fini_somethingv(ip, rc, &@.sth);
@@ -12,11 +14,15 @@ Fini maskmapv                       fini_somethingv(ip, rc, &@.sth);
 Type sockaddr:                 SockAddr_Value @
 Init sockaddr                  sockaddr_clear(&@);
 
-Type iddata(IdDataTable *tab): void *@
+Type iddata(const IdDataSpec *idds):   void *@
 Type ulong:                    uint32_t @
 Type long:                     long @
 Type string:                   const char *@
 
+Type adnsresults:              adns_answer *@
+Init adnsresults               @=0;
+Fini adnsresults               free(@);
+
 Type charfrom(const char *opts, const char *what):     int
 
 H-Include      "hbytes.h"
@@ -34,17 +40,48 @@ Table toplevel TopLevel_Command
        ulong
                subcmd  enum(ULong_SubCommand,"ulong subcommand")
                ...     obj
+       adns
+               subcmd  enum(Adns_SubCommand,"adns subcommand")
+               ...     obj
+
+Table adns Adns_SubCommand
+       lookup
+               rrtype  enum(AdnsTclRRTypeInfo, "rrtype")
+               domain  string
+               ...     obj
+               =>      obj
+       synch
+               rrtype  enum(AdnsTclRRTypeInfo, "rrtype")
+               domain  string
+               ...     obj
+               =>      obj
+       asynch
+               on_yes  obj
+               on_no   obj
+               on_fail obj
+               xargs   obj
+               rrtype  enum(AdnsTclRRTypeInfo, "rrtype")
+               domain  string
+               ...     obj
+               =>      iddata(&adnstcl_queries)
+       asynch-cancel
+               query   iddata(&adnstcl_queries)
+       new-resolver
+               ...     obj
+               =>      iddata(&adnstcl_resolvers)
+       destroy-resolver
+               res     iddata(&adnstcl_resolvers)
 
 Table maskmap MaskMap_SubCommand
        lookup
-               map     maskmapv
+               map     constv(&maskmap_type)
                addr    hb
                ?def    obj
                =>      obj
        amend
                map     maskmapv
-               prefix  hb
-               preflen int
+               prefix  obj
+               preflen obj
                data    obj
 
 Table ulong ULong_SubCommand