| rev |
line source |
|
hopper@1
|
1 'c' Count (the type of an enum) |
|
hopper@1
|
2 A count of something. This is not meant to have the range to |
|
hopper@1
|
3 represent an arbitrary integer for the purposes of something like |
|
hopper@1
|
4 cryptography that requires arbitrarily large abstract integers. |
|
hopper@1
|
5 |
|
hopper@1
|
6 'm' a multi-precision integer (accepts length modifier giving octets in integer) |
|
hopper@1
|
7 An arbitrary sized integer. |
|
hopper@1
|
8 'w' an unsigned multi-precision integer (accepts length modified) |
|
hopper@1
|
9 An arbitrary sized unsigned integer. |
|
hopper@1
|
10 |
|
hopper@1
|
11 'y' a yes/no value, aka a boolean |
|
hopper@1
|
12 Encoded as a single byte 0 or 1. |
|
hopper@1
|
13 |
|
hopper@1
|
14 'b' binary |
|
hopper@1
|
15 An opaque blob of binary data |
|
hopper@1
|
16 |
|
hopper@1
|
17 's' string (accepts a length modifier for fixed length strings) |
|
hopper@1
|
18 A sequence of UTF-8 encoded characters. |
|
hopper@1
|
19 |
|
hopper@1
|
20 'k' integer 8 |
|
hopper@1
|
21 An 8-bit two's complement integer |
|
hopper@1
|
22 'p' unsigned integer 8 |
|
hopper@1
|
23 An 8-bit integer that is always >= 0 (may also be used for bitfields) |
|
hopper@1
|
24 'j' integer 16 |
|
hopper@1
|
25 A 16-bit two's complement integer |
|
hopper@1
|
26 'o' unsigned integer 16 (no, 'o' makes no sense) |
|
hopper@1
|
27 A 16-bit integer that is always >= 0 (may also be used for bitfields) |
|
hopper@1
|
28 'i' integer 32 |
|
hopper@1
|
29 A 32-bit two's complement integer |
|
hopper@1
|
30 'u' integer 32 |
|
hopper@1
|
31 A 32-bit integer that is always >= 0 (may also be used for bitfields) |
|
hopper@1
|
32 'l' integer 64 |
|
hopper@1
|
33 A 64-bit two's complement integer |
|
hopper@1
|
34 'n' integer 64 |
|
hopper@1
|
35 A 64-bit integer that is always >= 0 (may also be used for bitfields) |
|
hopper@1
|
36 |
|
hopper@1
|
37 'f' floating |
|
hopper@1
|
38 An IEEE 754 64 bit floating point number. |
|
hopper@1
|
39 'h' half-size floating |
|
hopper@1
|
40 An IEEE 754 32 bit floating point number. |
|
hopper@1
|
41 'g' a giant arbitrary precision floating point (maybe) |
|
hopper@1
|
42 An IEEE 754 floating point number with a sign + exponent size of 16 |
|
hopper@1
|
43 bits and an arbitrary number of bits of precision. |
|
hopper@1
|
44 |
|
hopper@1
|
45 't(...)' Tuple (a ')' terminated list of types) |
|
hopper@1
|
46 A grouping of values. |
|
hopper@1
|
47 'a[.]' an array (contains one type, the type of all the elements) |
|
hopper@1
|
48 Array's, lists and sets are largely indistinguishable in how they |
|
hopper@1
|
49 look on the wire, and so they are all represented by an |
|
hopper@1
|
50 array. Array's are not length delimited, there is a flag before |
|
hopper@1
|
51 each element saying whether or not it's the last one. |
|
hopper@1
|
52 'd{..}' a dictionary (contains two types, the key type and value type of all the elements) |
|
hopper@1
|
53 A mapping from keys to values. |
|
hopper@1
|
54 'v' variant type |
|
hopper@1
|
55 This is a type where the type is encoded in its value. |