chiark / gitweb /
f0f22354400958e7102e1ea56c99ec33c7a1d13b
[chiark-tcl.git] / base / tables-examples.tct
1 Type hb:                        HBytes_Value @
2 Init hb                         hbytes_sentinel(&@);
3
4 Type hbv:                       HBytes_Var @
5 Init hbv                        @.hb=0; @.obj=0; @.var=0;
6 Fini hbv                        fini_hbv(ip, rc, &@);
7
8 Type sockaddr:                  SockAddr_Value @
9 Init sockaddr                   sockaddr_clear(&@);
10
11 Type sockid:                    DgramSockID @
12 Type ulong:                     unsigned long @
13
14 H-Include       "hbytes.h"
15
16 Table toplevel TopLevel_Command
17         hbytes
18                 subcmd  enum(HBytes_SubCommand, "hbytes subcommand")
19                 ...     obj
20         dgram-socket
21                 subcmd  enum(DgramSocket_SubCommand,"dgram-socket subcommand")
22                 ...     obj
23         ulong
24                 subcmd  enum(ULong_SubCommand,"ulong subcommand")
25                 ...     obj
26
27 Table ulong ULong_SubCommand
28         shift
29                 right   charfrom("lr", "shift direction")
30                 v       ulong
31                 bits    int
32                 =>      ulong
33         mask
34                 a       ulong
35                 b       ulong
36                 =>      ulong
37         compare
38                 a       ulong
39                 b       ulong
40                 =>      int
41         ul2int
42                 v       ulong
43                 =>      int
44         int2ul
45                 v       int
46                 =>      ulong
47         ul2bitfields
48                 value   ulong
49                 ...     obj
50                 =>      int
51         bitfields2ul
52                 base    ulong
53                 ...     obj
54                 =>      ulong
55
56 Table hbytes HBytes_SubCommand
57         raw2h
58                 binary  obj
59                 =>      hb
60         h2raw
61                 hex     hb
62                 =>      obj
63         ulong2h
64                 value   ulong
65                 =>      hb
66         h2ulong
67                 hex     hb
68                 =>      ulong
69         ushort2h
70                 value   ulong
71                 =>      hb
72         h2ushort
73                 hex     hb
74                 =>      ulong
75         length
76                 v       hb
77                 =>      int
78         compare
79                 a       hb
80                 b       hb
81                 =>      int
82         range
83                 v       hb
84                 start   int
85                 size    int
86                 =>      hb
87         prepend
88                 v       hbv
89                 ...     str
90         append
91                 v       hbv
92                 ...     str
93         rep-info
94                 v       obj
95                 =>      obj
96         concat
97                 ...     str
98                 =>      hb
99         unprepend
100                 v       hbv
101                 length  int
102                 =>      hb
103         unappend
104                 v       hbv
105                 length  int
106                 =>      hb
107         chopto
108                 v       hbv
109                 length  int
110                 =>      hb
111         pkcs5
112                 meth    enum(PadMethod, "hbytes pad subcommand")
113                 v       hbv
114                 block   obj
115                 =>      int
116         blockcipher
117                 encrypt charfrom("de","encrypt/decrypt")
118                 v       hbv
119                 alg     enum(BlockCipherAlgInfo, "alg")
120                 key     obj
121                 mode    enum(BlockCipherModeInfo, "mode")
122                 ?iv     hb
123                 =>      hb
124         hash
125                 alg     enum(HashAlgInfo, "hash alg")
126                 message hb
127                 =>      hb
128         hmac
129                 alg     enum(HashAlgInfo, "hash alg for hmac")
130                 message hb
131                 key     obj
132                 ?maclen obj
133                 =>      hb
134         zeroes
135                 length  int
136                 =>      hb
137         random
138                 length  int
139                 =>      hb
140
141 Table dgram_socket DgramSocket_SubCommand
142         create
143                 local   sockaddr
144                 =>      sockid
145         close
146                 sock    sockid
147         transmit
148                 sock    sockid
149                 data    hb
150                 remote  sockaddr
151         on-receive
152                 sock    sockid
153                 ?script obj