X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=base%2Ftables-examples.tct;h=56fd4ab2ae4e926ac636704c9e5df75fd3b9a952;hb=9af88eb2e41e2b6a73643948e31262eee08c5400;hp=d2e00384f7af16f552ff4c2f2d5c140336892be3;hpb=cf79867094e8877f35639d50769d2fe9c2a8bd0b;p=chiark-tcl.git diff --git a/base/tables-examples.tct b/base/tables-examples.tct index d2e0038..56fd4ab 100644 --- a/base/tables-examples.tct +++ b/base/tables-examples.tct @@ -2,14 +2,15 @@ Type hb: HBytes_Value @ Init hb hbytes_sentinel(&@); Type hbv: HBytes_Var @ -Init hbv @.hb=0; @.obj=0; @.var=0; +Init hbv @.hb=0; @.obj=0; @.var=0; @.copied=0; Fini hbv fini_hbv(ip, rc, &@); Type sockaddr: SockAddr_Value @ Init sockaddr sockaddr_clear(&@); Type sockid: DgramSockID @ -Type ulong: unsigned long @ +Type ulong: uint32_t @ +Type long: long @ H-Include "hbytes.h" @@ -25,24 +26,36 @@ Table toplevel TopLevel_Command ... obj Table ulong ULong_SubCommand - shift - right charfrom("lr", "shift direction") + ul2int v ulong - bits int + => int + int2ul + v int => ulong mask a ulong b ulong => ulong + add + a ulong + b ulong + => ulong + multiply + a ulong + b ulong + => ulong + subtract + a ulong + b ulong + => ulong compare a ulong b ulong => int - ul2int + shift + right charfrom("lr", "shift direction") v ulong - => int - int2ul - v int + bits int => ulong ul2bitfields value ulong @@ -60,18 +73,12 @@ Table hbytes HBytes_SubCommand h2raw hex hb => obj - ulong2h - value ulong - => hb - h2ulong - hex hb - => ulong ushort2h - value ulong + value long => hb h2ushort hex hb - => ulong + => long length v hb => int @@ -130,13 +137,8 @@ Table hbytes HBytes_SubCommand 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 @@ -147,6 +149,10 @@ Table hbytes HBytes_SubCommand key obj ?maclen obj => hb + hash-prop + prop enum(HashAlgPropInfo, "prop") + alg enum(HashAlgInfo, "alg") + => int Table dgram_socket DgramSocket_SubCommand create @@ -161,3 +167,33 @@ 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 + prop -1 + prop enum(BlockCipherPropInfo, "prop") + alg enum(BlockCipherAlgInfo, "alg") + => int + +EntryExtra BlockCipherOp + int encrypt;