1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/// Magic number written to the stream header.
pub const STREAM_MAGIC: u16 = 0xACED;
/// Version number written to the stream header.
pub const STREAM_VERSION: u16 = 5;
// Type codes (terminal symbols)
/// Null object reference.
pub const TC_NULL: u8 = 0x70;
/// Reference to an object already written into the stream.
pub const TC_REFERENCE: u8 = 0x71;
/// New Class Descriptor.
pub const TC_CLASSDESC: u8 = 0x72;
/// New Object.
pub const TC_OBJECT: u8 = 0x73;
/// New String.
pub const TC_STRING: u8 = 0x74;
/// New Array.
pub const TC_ARRAY: u8 = 0x75;
/// Reference to Class.
pub const TC_CLASS: u8 = 0x76;
/// Block of optional data (short).
pub const TC_BLOCKDATA: u8 = 0x77;
/// End of optional block data blocks.
pub const TC_ENDBLOCKDATA: u8 = 0x78;
/// Reset stream context.
pub const TC_RESET: u8 = 0x79;
/// Long block data.
pub const TC_BLOCKDATALONG: u8 = 0x7A;
/// Exception during write.
pub const TC_EXCEPTION: u8 = 0x7B;
/// Long string.
pub const TC_LONGSTRING: u8 = 0x7C;
/// New Proxy Class Descriptor.
pub const TC_PROXYCLASSDESC: u8 = 0x7D;
/// New Enum constant.
pub const TC_ENUM: u8 = 0x7E;
// Class descriptor flags
/// Serializable class defines writeObject method.
pub const SC_WRITE_METHOD: u8 = 0x01;
/// Class is Serializable.
pub const SC_SERIALIZABLE: u8 = 0x02;
/// Class is Externalizable.
pub const SC_EXTERNALIZABLE: u8 = 0x04;
/// Externalizable data written in Block Data mode.
pub const SC_BLOCK_DATA: u8 = 0x08;
/// Class is an enum type.
pub const SC_ENUM: u8 = 0x10;
/// First wire handle to be assigned.
pub const BASE_WIRE_HANDLE: u32 = 0x7E0000;