chiark / gitweb /
new constv type
[chiark-tcl.git] / base / tables-examples.tct
index 104237833aae02f2b5fc428c675c9a033bc8bba8..267b88cf27f15d8d7bda33e2f3d46231e2fa56d3 100644 (file)
@@ -2,8 +2,14 @@ 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(&@);
@@ -31,6 +37,18 @@ Table toplevel TopLevel_Command
                subcmd  enum(ULong_SubCommand,"ulong subcommand")
                ...     obj
 
+Table maskmap MaskMap_SubCommand
+       lookup
+               map     constv(&maskmap_type)
+               addr    hb
+               ?def    obj
+               =>      obj
+       amend
+               map     maskmapv
+               prefix  hb
+               preflen int
+               data    obj
+
 Table ulong ULong_SubCommand
        ul2int
                v       ulong
@@ -163,6 +181,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