X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=hbytes%2Fhbytes.tct;h=350216ef5dcbb68f427320b86ad05407727f9074;hb=2015267b4a0bbee11a7020bf6ac16c1dc0cd898c;hp=727591d1262b8bd3c4cecef70b168c1c67b43e70;hpb=3340221c68f8c948db9d2d3b553692fe642dd0f8;p=chiark-tcl.git diff --git a/hbytes/hbytes.tct b/hbytes/hbytes.tct index 727591d..350216e 100644 --- a/hbytes/hbytes.tct +++ b/hbytes/hbytes.tct @@ -1,33 +1,27 @@ -Type hb: HBytes_Value @ -Init hb hbytes_sentinel(&@); +# hbytes - hex-stringrep efficient byteblocks for Tcl +# Copyright 2006 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. -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 +132,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;