chiark / gitweb /
remove fsf street address
[chiark-tcl.git] / crypto / crypto.tct
index cc10545db55aea32c49a3c221c17400d35ee05b6..37794db530a7d6cf7fc855c64721cb7ab50f87f7 100644 (file)
@@ -1,13 +1,27 @@
+# crypto - Tcl bindings for parts of the `nettle' crypto library
+# 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/>.
 
 
 Table *hbcryptotoplevel TopLevel_Command
        hbcrypto
-               subcmd  enum(HBCrypto/_SubCommand, "hbcrypto subcommand")
-               ...     obj
+               dispatch(HBCrypto/_SubCommand, "hbcrypto subcommand")
 
 Table hbcrypto HBCrypto_SubCommand
        pad
-               op      enum(PadOp/, "hbytes pad subcommand")
+               op      enum(PadOp/, "hbcrypto pad subcommand")
                v       hbv
                blocksz obj
                meth    enum(PadMethodInfo/, "pad method")
@@ -19,6 +33,20 @@ Table hbcrypto HBCrypto_SubCommand
                alg     enum(HashAlgInfo/, "hash alg")
                message hb
                =>      hb
+       hash-init
+               alg     enum(HashAlgInfo/, "hash alg")
+               =>      iddata(&cht_hash_states)
+       hash-update
+               stateh  iddata(&cht_hash_states)
+               message hb
+       hash-final
+               stateh  iddata(&cht_hash_states)
+               =>      hb
+       hash-discard
+               stateh  iddata(&cht_hash_states)
+       hash-clonestate
+               stateh  iddata(&cht_hash_states)
+               =>      iddata(&cht_hash_states)
        hmac
                alg     enum(HashAlgInfo/, "hash alg for hmac")
                message hb