X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;ds=sidebyside;f=base%2Ftables-examples.tct;h=c130136bc094ba3079aa276d07cd5ce824fb0fb5;hb=ac8c0b3b18075ae4273779544eda01c09cfb5145;hp=71cb4bf3935bb88a76524bad4c1a2a61e94c9dce;hpb=ceb4860abfe091be1ff68795d820ea4c9afc4f4a;p=chiark-tcl.git diff --git a/base/tables-examples.tct b/base/tables-examples.tct index 71cb4bf..c130136 100644 --- a/base/tables-examples.tct +++ b/base/tables-examples.tct @@ -9,16 +9,49 @@ Type sockaddr: SockAddr_Value @ Init sockaddr sockaddr_clear(&@); Type sockid: DgramSockID @ +Type ulong: unsigned long @ H-Include "hbytes.h" -Untabled +Table toplevel TopLevel_Command hbytes subcmd enum(HBytes_SubCommand, "hbytes subcommand") - obj ... + ... obj dgram-socket - subcmd enum(DgramSocket_SubCommand,"dgram-socket subcommand") - obj ... + subcmd enum(DgramSocket_SubCommand,"dgram-socket subcommand") + ... obj + ulong + subcmd enum(ULong_SubCommand,"ulong subcommand") + ... obj + +Table ulong ULong_SubCommand + shift + right charfrom("lr", "shift direction") + v ulong + bits int + => ulong + mask + a ulong + b ulong + => ulong + compare + a ulong + b ulong + => int + ul2int + v ulong + => int + int2ul + v int + => ulong + ul2bitfields + value ulong + ... obj + => int + bitfields2ul + base ulong + ... obj + => ulong Table hbytes HBytes_SubCommand raw2h @@ -27,20 +60,41 @@ Table hbytes HBytes_SubCommand h2raw hex hb => obj + ulong2h + value ulong + => hb + h2ulong + hex hb + => ulong + ushort2h + value ulong + => hb + h2ushort + hex hb + => ulong length v hb => int + compare + a hb + b hb + => int + range + v hb + start int + size int + => hb prepend v hbv - str ... + ... str append v hbv - str ... + ... str rep-info v obj => obj concat - str ... + ... str => hb unprepend v hbv @@ -54,19 +108,34 @@ Table hbytes HBytes_SubCommand v hbv length int => hb + overwrite + v hbv + start int + sub hb + trimleft + v hbv + zeroes + length int + => hb + repeat + v hb + count int + => hb + clockincrement + value hbv + change int + => int + random + length int + => hb pkcs5 meth enum(PadMethod, "hbytes pad subcommand") v hbv block obj => int blockcipher - encrypt charfrom("de","encrypt/decrypt") - v hbv - alg enum(BlockCipherAlgInfo, "alg") - key obj - mode enum(BlockCipherModeInfo, "mode") - ?iv hb - => hb + op enum(BlockCipherOp, "op") + ... obj hash alg enum(HashAlgInfo, "hash alg") message hb @@ -77,12 +146,6 @@ Table hbytes HBytes_SubCommand key obj ?maclen obj => hb - zeroes - length int - => hb - random - length int - => hb Table dgram_socket DgramSocket_SubCommand create @@ -97,3 +160,29 @@ Table dgram_socket DgramSocket_SubCommand on-receive sock sockid ?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 + +EntryExtra BlockCipherOp + int encrypt;