chiark / gitweb /
hbytes range
[chiark-tcl.git] / base / tables-examples.tct
index 13a3e5d68a05ab9629c4b254c538eb3e3fab6e51..b5a104b825409384e6a206df5bde3175996ecd46 100644 (file)
@@ -1,15 +1,25 @@
 Type hb:                       HBytes_Value @
 Init hb                                hbytes_sentinel(&@);
+
 Type hbv:                      HBytes_Var @
 Init hbv                       @.hb=0; @.obj=0; @.var=0;
 Fini hbv                       fini_hbv(ip, rc, &@);
 
+Type sockaddr:                 SockAddr_Value @
+Init sockaddr                  sockaddr_clear(&@);
+
+Type sockid:                   DgramSockID @
+Type ulong:                    unsigned long @
+
 H-Include      "hbytes.h"
 
 Untabled
        hbytes
                subcmd  enum(HBytes_SubCommand, "hbytes subcommand")
                obj     ...
+       dgram-socket
+               subcmd enum(DgramSocket_SubCommand,"dgram-socket subcommand")
+               obj     ...
 
 Table hbytes HBytes_SubCommand
        raw2h
@@ -18,6 +28,30 @@ 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     ...
@@ -25,7 +59,7 @@ Table hbytes HBytes_SubCommand
                v       hbv
                str     ...
        rep-info
-               v       hb
+               v       obj
                =>      obj
        concat
                str     ...
@@ -44,38 +78,44 @@ Table hbytes HBytes_SubCommand
                =>      hb
        pkcs5
                meth    enum(PadMethod, "hbytes pad subcommand")
-               obj     ...
-#      blockcipher
-#              encrypt charfrom("de","encrypt/decrypt")
-#              v       hbv
-#              alg     enum(BlockCipherAlgInfo, "alg")
-#              mode    enum(BlockCipherModeInfo, "mode")
-#              ?iv     hb
-#              =>      hb
-#      hash
-#              alg     enum(HashAlgInfo, "hash alg")
-#              message hb
-#              =>      hb
-#      hmac
-#              alg     enum(HashAlgInfo, "hash alg for hmac")
-#              message hb
-#              key     hb
-#              maclen  int
-#              =>      hb
-
-Table padmethod PadMethod
-       pa      1
-               v       hbv
-               alg     enum(BlockCipherAlgInfo, "pad alg")
-       ua      0
                v       hbv
-               alg     enum(BlockCipherAlgInfo, "pad alg")
-       pn      1
-               v       hbv
-               block   int
-       un      0
-               v       hbv
-               block   int
+               block   obj
+               =>      int
+       blockcipher
+               encrypt charfrom("de","encrypt/decrypt")
+               v       hbv
+               alg     enum(BlockCipherAlgInfo, "alg")
+               key     obj
+               mode    enum(BlockCipherModeInfo, "mode")
+               ?iv     hb
+               =>      hb
+       hash
+               alg     enum(HashAlgInfo, "hash alg")
+               message hb
+               =>      hb
+       hmac
+               alg     enum(HashAlgInfo, "hash alg for hmac")
+               message hb
+               key     obj
+               ?maclen obj
+               =>      hb
+       zeroes
+               length  int
+               =>      hb
+       random
+               length  int
+               =>      hb
 
-EntryExtra PadMethod
-       int pad;
+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