-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; init_somethingv(&@.sth);
+Fini hbv fini_somethingv(ip, rc, &@.sth);
+
+Type constv(Tcl_ObjType*): Tcl_Obj *@
+
+Type maskmapv: MaskMap_Var @
+Init maskmapv @.mm=0; init_somethingv(&@.sth);
+Fini maskmapv fini_somethingv(ip, rc, &@.sth);
+
+Type sockaddr: SockAddr_Value @
+Init sockaddr sockaddr_clear(&@);
+
+Type iddata(IdDataTable *tab): void *@
+Type ulong: uint32_t @
+Type long: long @
+Type string: const char *@
+
+Type adnsresults: adns_answer *@
+Init adnsresults @=0;
+Fini adnsresults free(@);
+
+Type charfrom(const char *opts, const char *what): int
+
+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
+ tuntap-socket-raw
+ subcmd enum(TunSocket_SubCommand,"tuntap-socket-raw subcommand")
+ ... obj
+ ulong
+ subcmd enum(ULong_SubCommand,"ulong subcommand")
+ ... obj
+ adns
+ subcmd enum(Adns_SubCommand,"adns subcommand")
+ ... obj
+
+Table adns Adns_SubCommand
+ lookup
+ rrtype enum(AdnsTclRRTypeInfo, "rrtype")
+ domain string
+ ... obj
+ => obj
+ synch
+ rrtype enum(AdnsTclRRTypeInfo, "rrtype")
+ domain string
+ ... obj
+ => obj
+ asynch
+ on_yes obj
+ on_no obj
+ on_fail obj
+ xargs obj
+ rrtype enum(AdnsTclRRTypeInfo, "rrtype")
+ domain string
+ ... obj
+ => iddata(&adnstcl_queries)
+ asynch-cancel
+ query iddata(&adnstcl_queries)
+ new-resolver
+ ... obj
+ => iddata(&adnstcl_resolvers)
+ destroy-resolver
+ res iddata(&adnstcl_resolvers)
+
+Table maskmap MaskMap_SubCommand
+ lookup
+ map constv(&maskmap_type)
+ addr hb
+ ?def obj
+ => obj
+ amend
+ map maskmapv
+ prefix obj
+ preflen obj
+ data 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
+ mask-map
+ subcmd enum(MaskMap_SubCommand, "hbytes mask-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
-#Table padmethodinfos
-# Info
-# int algname;
-#Entries
+EntryExtra BlockCipherOp
+ int encrypt;