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 iddata(IdDataTable *tab): void *@
+Type ulong: uint32_t @
+Type long: long @
+Type string: const char *@
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
+ tuntap-socket
+ subcmd enum(TunSocket_SubCommand,"tuntap-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
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
=> hb
prepend
v hbv
- str ...
+ ... str
append
v hbv
- str ...
+ ... str
rep-info
v obj
=> obj
concat
- str ...
+ ... str
=> hb
unprepend
v hbv
v hbv
length int
=> hb
- pkcs5
- meth enum(PadMethod, "hbytes pad subcommand")
+ overwrite
v hbv
- block obj
- => int
+ start int
+ sub hb
+ trimleft
+ v hbv
+ zeroes
+ length int
+ => hb
+ repeat
+ v hb
+ count int
+ => hb
+ xor
+ v hbv
+ d hb
+ random
+ length int
+ => hb
+ pad
+ op enum(PadOp, "hbytes pad subcommand")
+ v hbv
+ blocksz obj
+ meth enum(PadMethodInfo, "pad method")
+ ... methargs
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
key obj
?maclen obj
=> hb
- zeroes
- length int
- => hb
- random
- length int
- => 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
+ => iddata(&dgram_socks)
close
- sock sockid
+ sock iddata(&dgram_socks)
transmit
- sock sockid
+ sock iddata(&dgram_socks)
data hb
remote sockaddr
on-receive
- sock sockid
+ sock iddata(&dgram_socks)
?script obj
+
+Table tuntap_socket 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;