chiark / gitweb /
copyright dates
[chiark-tcl.git] / crypto / crypto.tct
index fa9de22e34481a11d162fe9f7b6049712676b259..b63f42740b56aca91c911bb5a8d9e58a4882db18 100644 (file)
@@ -1,26 +1,63 @@
-Table hbcrypto_SubCommand
+# 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, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+
+Table *hbcryptotoplevel TopLevel_Command
+       hbcrypto
+               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")
+               meth    enum(PadMethodInfo/, "pad method")
                ...     methargs
        blockcipher
-               op      enum(BlockCipherOp, "op")
+               op      enum(BlockCipherOp/, "op")
                ...     obj
        hash
-               alg     enum(HashAlgInfo, "hash alg")
+               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")
+               alg     enum(HashAlgInfo/, "hash alg for hmac")
                message hb
                key     obj
                ?maclen obj
                =>      hb
        hash-prop
-               prop    enum(HashAlgPropInfo, "prop")
-               alg     enum(HashAlgInfo, "alg")
+               prop    enum(HashAlgPropInfo/, "prop")
+               alg     enum(HashAlgInfo/, "alg")
                =>      int
 
 Table padmethodinfo PadMethodInfo
@@ -33,28 +70,28 @@ Table padmethodinfo PadMethodInfo
 Table blockcipherop BlockCipherOp
        e       1
                v       hbv
-               alg     enum(BlockCipherAlgInfo, "alg")
+               alg     enum(BlockCipherAlgInfo/, "alg")
                key     obj
-               mode    enum(BlockCipherModeInfo, "mode")
+               mode    enum(BlockCipherModeInfo/, "mode")
                ?iv     hb
                =>      hb
        d       0
                v       hbv
-               alg     enum(BlockCipherAlgInfo, "alg")
+               alg     enum(BlockCipherAlgInfo/, "alg")
                key     obj
-               mode    enum(BlockCipherModeInfo, "mode")
+               mode    enum(BlockCipherModeInfo/, "mode")
                ?iv     hb
                =>      hb
        mac     -1
                msg     hb
-               alg     enum(BlockCipherAlgInfo, "alg")
+               alg     enum(BlockCipherAlgInfo/, "alg")
                key     obj
-               mode    enum(BlockCipherModeInfo, "mode")
+               mode    enum(BlockCipherModeInfo/, "mode")
                iv      hb
                =>      hb
        prop    -1
-               prop    enum(BlockCipherPropInfo, "prop")
-               alg     enum(BlockCipherAlgInfo, "alg")
+               prop    enum(BlockCipherPropInfo/, "prop")
+               alg     enum(BlockCipherAlgInfo/, "alg")
                =>      int
 
 EntryExtra BlockCipherOp