X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-tcl.git;a=blobdiff_plain;f=base%2Ftables-examples.tct;h=2e1e573d62ec546b69081dad820feed1c25c8279;hp=53fd2399310a0d0c86732a7ef41f3fa3a760c2df;hb=eddc638bb3b8e716879edf149b2a6e37c8bc9e8d;hpb=427c2d3d8b6ae6b580c773400c00322242014558 diff --git a/base/tables-examples.tct b/base/tables-examples.tct index 53fd239..2e1e573 100644 --- a/base/tables-examples.tct +++ b/base/tables-examples.tct @@ -1,56 +1,210 @@ -Type hb: Tcl_Obj/*hbytes*/ *@ -Type hbv: Tcl_Obj/*hbytes*/ *@ +Type hb: HBytes_Value @ +Init hb hbytes_sentinel(&@); -Table hbytes +Type hbv: HBytes_Var @ +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: uint32_t @ +Type long: long @ + +H-Include "hbytes.h" + +Table toplevel TopLevel_Command + hbytes + subcmd enum(HBytes_SubCommand, "hbytes subcommand") + ... obj + dgram-socket + subcmd enum(DgramSocket_SubCommand,"dgram-socket subcommand") + ... obj + ulong + subcmd enum(ULong_SubCommand,"ulong subcommand") + ... obj + +Table ulong ULong_SubCommand + ul2int + v ulong + => 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 + shift + right charfrom("lr", "shift direction") + v ulong + bits int + => ulong + ul2bitfields + value ulong + ... obj + => int + bitfields2ul + base ulong + ... obj + => ulong + +Table hbytes HBytes_SubCommand raw2h binary obj => hb h2raw hex hb => obj - prefix - v hbv - str ... - append - v hbv - str ... - concat + ushort2h + value long + => hb + h2ushort + hex hb + => long + length + v hb + => int + compare + a hb + b hb + => int + range + v hb + start int + size int + => hb + prepend + v hbv + ... str + append + v hbv + ... str + rep-info + v obj + => obj + concat + ... str + => hb + unprepend + v hbv + length int + => hb + unappend + v hbv + length int + => hb + chopto + v hbv + length int + => hb + overwrite v hbv - str ... - unprepend + start int + sub hb + trimleft v hbv + zeroes length int => hb - unappend - v hbv - length int + repeat + v hb + count int => hb - chopto + xor v hbv + d hb + random length int => hb - pkcs5 - meth enum(PadMethodInfo,padmethodinfos) - arg ... - blockcipher - encrypt charfrom("de") + pad + op enum(PadOp, "hbytes pad subcommand") v hbv - alg enum(BlockCipherAlgInfo,blockcipheralginfos) - mode enum(BlockCipherModeInfo,blockciphermodeinfos) - ?iv hb - => hb - hash - alg enum(HashAlgInfo,hashalginfos) - message hb - => hb - hmac - alg enum(HashAlgInfo,hashalginfos) - message hb - key hb - maclen int + 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 + +Table padmethodinfo PadMethodInfo + pkcs5 + => int + rfc2406 + nxthdr obj + => int + +Table dgram_socket DgramSocket_SubCommand + create + local sockaddr + => sockid + close + sock sockid + transmit + sock sockid + data hb + remote sockaddr + 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 -#Table padmethodinfos -# Info -# int algname; -#Entries +EntryExtra BlockCipherOp + int encrypt;