X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=base%2Ftables-examples.tct;h=235f7702f54ca37ad0e6b8c9bb9186728546bbe6;hb=476c966037dfec5a0a2b03511dced36c673c2307;hp=b98ba5ff19bd1a89a950c40e5a240750f60ebd42;hpb=ed7354bcb695fcf3ee3f5cea14be209fbb99f161;p=chiark-tcl.git diff --git a/base/tables-examples.tct b/base/tables-examples.tct index b98ba5f..235f770 100644 --- a/base/tables-examples.tct +++ b/base/tables-examples.tct @@ -2,8 +2,12 @@ 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 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(&@); @@ -13,6 +17,8 @@ Type ulong: uint32_t @ Type long: long @ Type string: const char *@ +Type charfrom(const char *opts, const char *what): int + H-Include "hbytes.h" Table toplevel TopLevel_Command @@ -22,12 +28,27 @@ Table toplevel TopLevel_Command dgram-socket subcmd enum(DgramSocket_SubCommand,"dgram-socket subcommand") ... obj - tuntap-socket - subcmd enum(TunSocket_SubCommand,"tuntap-socket subcommand") - ... obj + tuntap-socket-raw + subcmd enum(TunSocket_SubCommand,"tuntap-socket-raw subcommand") + ... obj ulong subcmd enum(ULong_SubCommand,"ulong subcommand") ... obj + mask-map + subcmd enum(MaskMap_SubCommand, "hbytes mask-map subcommand") + ... obj + +Table maskmap MaskMap_SubCommand + lookup + map maskmapv + addr hb + ?def obj + => obj + amend + map maskmapv + prefix hb + preflen int + data obj Table ulong ULong_SubCommand ul2int @@ -183,7 +204,7 @@ Table dgram_socket DgramSocket_SubCommand sock iddata(&dgram_socks) ?script obj -Table tuntap_socket TunSocket_SubCommand +Table tuntap_socket_raw TunSocket_SubCommand create ?ifname string => iddata(&tuntap_socks) @@ -194,10 +215,10 @@ Table tuntap_socket TunSocket_SubCommand => string receive sock iddata(&tuntap_socks) - mtu long data hb on-transmit sock iddata(&tuntap_socks) + mtu long ?script obj Table blockcipherop BlockCipherOp