chiark / gitweb /
new socket id arrangements, working on tun
[chiark-tcl.git] / base / tables-examples.tct
index 2e1e573d62ec546b69081dad820feed1c25c8279..82700dcd402e0c14c28f4a8d5797fe12a0b86ab5 100644 (file)
@@ -8,9 +8,10 @@ Fini hbv                       fini_hbv(ip, rc, &@);
 Type sockaddr:                 SockAddr_Value @
 Init sockaddr                  sockaddr_clear(&@);
 
-Type sockid:                   DgramSockID @
+Type iddata(IdDataTable *tab): void *@
 Type ulong:                    uint32_t @
 Type long:                     long @
+Type string:                   const char *@
 
 H-Include      "hbytes.h"
 
@@ -21,6 +22,9 @@ Table toplevel TopLevel_Command
        dgram-socket
                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
@@ -168,15 +172,34 @@ Table padmethodinfo PadMethodInfo
 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-ptp
+               local   sockaddr
+               peer    sockaddr
+               mtu     long
+               ?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)
                ?script obj
 
 Table blockcipherop BlockCipherOp