X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-tcl.git;a=blobdiff_plain;f=base%2Ftables-examples.tct;h=98c6cd98cca3118383b2dcf483e4cf1ce01fbbec;hp=7cbf3128cc79415e3273558534b0eb59f47bf7ff;hb=9b2c18cc9d122b45f9e737864921d32baa599f0c;hpb=fa11284b9469c1c79af7f8f129da934c1ebcf594 diff --git a/base/tables-examples.tct b/base/tables-examples.tct index 7cbf312..98c6cd9 100644 --- a/base/tables-examples.tct +++ b/base/tables-examples.tct @@ -2,15 +2,28 @@ Type hb: HBytes_Value @ Init hb hbytes_sentinel(&@); Type hbv: HBytes_Var @ -Init hbv @.hb=0; @.obj=0; @.var=0; @.copied=0; -Fini hbv fini_hbv(ip, rc, &@); +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); Type sockaddr: SockAddr_Value @ Init sockaddr sockaddr_clear(&@); -Type sockid: DgramSockID @ +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" @@ -21,9 +34,55 @@ Table toplevel TopLevel_Command dgram-socket subcmd enum(DgramSocket_SubCommand,"dgram-socket subcommand") ... obj + tuntap-socket-raw + subcmd enum(TunSocket_SubCommand,"tuntap-socket-raw subcommand") + ... obj 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 constv(&maskmap_type) + addr hb + ?def obj + => obj + amend + map maskmapv + prefix obj + preflen obj + data obj Table ulong ULong_SubCommand ul2int @@ -128,6 +187,9 @@ Table hbytes HBytes_SubCommand v hb count int => hb + xor + v hbv + d hb random length int => hb @@ -154,6 +216,9 @@ Table hbytes HBytes_SubCommand prop enum(HashAlgPropInfo, "prop") alg enum(HashAlgInfo, "alg") => int + mask-map + subcmd enum(MaskMap_SubCommand, "hbytes mask-map subcommand") + ... obj Table padmethodinfo PadMethodInfo pkcs5 @@ -165,15 +230,32 @@ Table padmethodinfo PadMethodInfo Table dgram_socket DgramSocket_SubCommand create local sockaddr - => sockid + => iddata(&dgram_socks) close - sock sockid + sock iddata(&dgram_socks) transmit - sock sockid + sock iddata(&dgram_socks) data hb remote sockaddr on-receive - sock sockid + sock iddata(&dgram_socks) + ?script obj + +Table tuntap_socket_raw TunSocket_SubCommand + create + ?ifname string + => iddata(&tuntap_socks) + close + sock iddata(&tuntap_socks) + ifname + sock iddata(&tuntap_socks) + => string + receive + sock iddata(&tuntap_socks) + data hb + on-transmit + sock iddata(&tuntap_socks) + mtu long ?script obj Table blockcipherop BlockCipherOp