chiark / gitweb /
hbytes overwrite; hbytes repeat
[chiark-tcl.git] / base / tables-examples.tct
index 5115813ad127f13c2ea6d43ecad882f81d800049..f2146a552c6dc23b1c3518ce7604a415c27ca09a 100644 (file)
@@ -1,15 +1,57 @@
 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
+Table toplevel TopLevel_Command
        hbytes
                subcmd  enum(HBytes_SubCommand, "hbytes subcommand")
-               obj     ...
+               ...     obj
+       dgram-socket
+               subcmd  enum(DgramSocket_SubCommand,"dgram-socket subcommand")
+               ...     obj
+       ulong
+               subcmd  enum(ULong_SubCommand,"ulong subcommand")
+               ...     obj
+
+Table ulong ULong_SubCommand
+       shift
+               right   charfrom("lr", "shift direction")
+               v       ulong
+               bits    int
+               =>      ulong
+       mask
+               a       ulong
+               b       ulong
+               =>      ulong
+       compare
+               a       ulong
+               b       ulong
+               =>      int
+       ul2int
+               v       ulong
+               =>      int
+       int2ul
+               v       int
+               =>      ulong
+       ul2bitfields
+               value   ulong
+               ...     obj
+               =>      int
+       bitfields2ul
+               base    ulong
+               ...     obj
+               =>      ulong
 
 Table hbytes HBytes_SubCommand
        raw2h
@@ -18,20 +60,41 @@ 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     ...
+               ...     str
        append
                v       hbv
-               str     ...
+               ...     str
        rep-info
                v       obj
                =>      obj
        concat
-               str     ...
+               ...     str
                =>      hb
        unprepend
                v       hbv
@@ -45,6 +108,20 @@ Table hbytes HBytes_SubCommand
                v       hbv
                length  int
                =>      hb
+       overwrite
+               v       hbv
+               start   int
+               sub     hb
+       zeroes
+               length  int
+               =>      hb
+       repeat
+               v       hb
+               count   int
+               =>      hb
+       random
+               length  int
+               =>      hb
        pkcs5
                meth    enum(PadMethod, "hbytes pad subcommand")
                v       hbv
@@ -68,3 +145,17 @@ Table hbytes HBytes_SubCommand
                key     obj
                ?maclen obj
                =>      hb
+
+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