chiark / gitweb /
f2146a552c6dc23b1c3518ce7604a415c27ca09a
[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         overwrite
112                 v       hbv
113                 start   int
114                 sub     hb
115         zeroes
116                 length  int
117                 =>      hb
118         repeat
119                 v       hb
120                 count   int
121                 =>      hb
122         random
123                 length  int
124                 =>      hb
125         pkcs5
126                 meth    enum(PadMethod, "hbytes pad subcommand")
127                 v       hbv
128                 block   obj
129                 =>      int
130         blockcipher
131                 encrypt charfrom("de","encrypt/decrypt")
132                 v       hbv
133                 alg     enum(BlockCipherAlgInfo, "alg")
134                 key     obj
135                 mode    enum(BlockCipherModeInfo, "mode")
136                 ?iv     hb
137                 =>      hb
138         hash
139                 alg     enum(HashAlgInfo, "hash alg")
140                 message hb
141                 =>      hb
142         hmac
143                 alg     enum(HashAlgInfo, "hash alg for hmac")
144                 message hb
145                 key     obj
146                 ?maclen obj
147                 =>      hb
148
149 Table dgram_socket DgramSocket_SubCommand
150         create
151                 local   sockaddr
152                 =>      sockid
153         close
154                 sock    sockid
155         transmit
156                 sock    sockid
157                 data    hb
158                 remote  sockaddr
159         on-receive
160                 sock    sockid
161                 ?script obj