chiark / gitweb /
tcmdifgen: Replace deprecated `use IO;' with `use IO::File'.
[chiark-tcl.git] / hbytes / hbytes.tct
index 727591d1262b8bd3c4cecef70b168c1c67b43e70..dc6980e100a4e4053b40acd52967fbdd42bf7b65 100644 (file)
@@ -1,33 +1,25 @@
-Type hb:                       HBytes_Value @
-Init hb                                hbytes_sentinel(&@);
+# hbytes - hex-stringrep efficient byteblocks for Tcl
+# Copyright 2006-2012 Ian Jackson
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this library; if not, see <http://www.gnu.org/licenses/>.
 
-Type hbv:                      HBytes_Var @
-Init hbv                       @.hb=0; init_somethingv(&@.sth);
-Fini hbv                       fini_somethingv(ip, rc, &@.sth);
 
-Type addrmapv:                 AddrMap_Var @
-Init addrmapv                  @.am=0; init_somethingv(&@.sth);
-Fini addrmapv                  fini_somethingv(ip, rc, &@.sth);
-
-Type sockaddr:                 SockAddr_Value @
-Init sockaddr                  sockaddr_clear(&@);
-
-Table toplevel TopLevel_Command
+Table *hbytestoplevel TopLevel_Command
        hbytes
-               subcmd  enum(HBytes_SubCommand, "hbytes subcommand")
-               ...     obj
-       dgram-socket
-               subcmd  enum(DgramSocket_SubCommand,"dgram-socket subcommand")
-               ...     obj
-       tuntap-socket-raw
-           subcmd enum(TunSocket_SubCommand,"tuntap-socket-raw subcommand")
-           ... obj
+               dispatch(HBytes/_SubCommand, "hbytes subcommand")
        ulong
-               subcmd  enum(ULong_SubCommand,"ulong subcommand")
-               ...     obj
-       adns
-               subcmd  enum(Adns_SubCommand,"adns subcommand")
-               ...     obj
+               dispatch(ULong/_SubCommand, "ulong subcommand")
 
 Table ulong ULong_SubCommand
        ul2int
@@ -138,97 +130,3 @@ Table hbytes HBytes_SubCommand
        random
                length  int
                =>      hb
-       pad
-               op      enum(PadOp, "hbytes pad subcommand")
-               v       hbv
-               blocksz obj
-               meth    enum(PadMethodInfo, "pad method")
-               ...     methargs
-       blockcipher
-               op      enum(BlockCipherOp, "op")
-               ...     obj
-       hash
-               alg     enum(HashAlgInfo, "hash alg")
-               message hb
-               =>      hb
-       hmac
-               alg     enum(HashAlgInfo, "hash alg for hmac")
-               message hb
-               key     obj
-               ?maclen obj
-               =>      hb
-       hash-prop
-               prop    enum(HashAlgPropInfo, "prop")
-               alg     enum(HashAlgInfo, "alg")
-               =>      int
-       addr-map
-               subcmd  enum(AddrMap_SubCommand, "hbytes addr-map subcommand")
-               ...     obj
-
-Table padmethodinfo PadMethodInfo
-       pkcs5
-               =>      int
-       rfc2406
-               nxthdr  obj
-               =>      int
-
-Table dgram_socket DgramSocket_SubCommand
-       create
-               local   sockaddr
-               =>      iddata(&dgram_socks)
-       close
-               sock    iddata(&dgram_socks)
-       transmit
-               sock    iddata(&dgram_socks)
-               data    hb
-               remote  sockaddr
-       on-receive
-               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
-       e       1
-               v       hbv
-               alg     enum(BlockCipherAlgInfo, "alg")
-               key     obj
-               mode    enum(BlockCipherModeInfo, "mode")
-               ?iv     hb
-               =>      hb
-       d       0
-               v       hbv
-               alg     enum(BlockCipherAlgInfo, "alg")
-               key     obj
-               mode    enum(BlockCipherModeInfo, "mode")
-               ?iv     hb
-               =>      hb
-       mac     -1
-               msg     hb
-               alg     enum(BlockCipherAlgInfo, "alg")
-               key     obj
-               mode    enum(BlockCipherModeInfo, "mode")
-               iv      hb
-               =>      hb
-       prop    -1
-               prop    enum(BlockCipherPropInfo, "prop")
-               alg     enum(BlockCipherAlgInfo, "alg")
-               =>      int
-
-EntryExtra BlockCipherOp
-       int encrypt;