ei/
consts.rs

1// @see
2//  http://erlang.org/doc/apps/erts/erl_ext_dist.html
3//  http://erlang.org/doc/apps/erts/erl_dist_protocol.html
4
5// -- ~/lib/erl_interface/include/ei.h --
6
7pub const ERL_SMALL_INTEGER_EXT   :u8 = 0x61; //  97: 'a'
8pub const ERL_INTEGER_EXT         :u8 = 0x62; //  98: 'b'
9//  const ERL_FLOAT_EXT           :u8 = 0x63; //  99: 'c'
10pub const NEW_FLOAT_EXT           :u8 = 0x46; //  70: 'F'
11pub const ERL_ATOM_EXT            :u8 = 0x64; // 100: 'd'
12//  const ERL_SMALL_ATOM_EXT      :u8 = 0x73; // 115: 's'
13pub const ERL_ATOM_UTF8_EXT       :u8 = 0x76; // 118: 'v'
14pub const ERL_SMALL_ATOM_UTF8_EXT :u8 = 0x77; // 119: 'w'
15//  const ERL_REFERENCE_EXT       :u8 = 0x65; // 101: 'e'
16//  const ERL_NEW_REFERENCE_EXT   :u8 = 0x72; // 114: 'r'
17pub const ERL_NEWER_REFERENCE_EXT :u8 = 0x5a; //  90: 'Z'
18//  const ERL_PORT_EXT            :u8 = 0x66; // 102: 'f'
19pub const ERL_NEW_PORT_EXT        :u8 = 0x59; //  89: 'Y'
20//  const ERL_PID_EXT             :u8 = 0x67; // 103: 'g'
21pub const ERL_NEW_PID_EXT         :u8 = 0x58; //  88: 'X'
22pub const ERL_SMALL_TUPLE_EXT     :u8 = 0x68; // 104: 'h'
23pub const ERL_LARGE_TUPLE_EXT     :u8 = 0x69; // 105: 'i'
24pub const ERL_NIL_EXT             :u8 = 0x6a; // 106: 'j'
25pub const ERL_STRING_EXT          :u8 = 0x6b; // 107: 'k'
26pub const ERL_LIST_EXT            :u8 = 0x6c; // 108: 'l'
27pub const ERL_BINARY_EXT          :u8 = 0x6d; // 109: 'm'
28//  const ERL_BIT_BINARY_EXT      :u8 = 0x4d; //  77: 'M'
29pub const ERL_SMALL_BIG_EXT       :u8 = 0x6e; // 110: 'n'
30//  const ERL_LARGE_BIG_EXT       :u8 = 0x6f; // 111: 'o',
31//  const ERL_NEW_FUN_EXT         :u8 = 0x70; // 112: 'p'
32pub const ERL_MAP_EXT             :u8 = 0x74; // 116: 't'
33//  const ERL_FUN_EXT             :u8 = 0x75; // 117: 'u'
34//  const ERL_EXPORT_EXT          :u8 = 0x71; // 113: 'q'
35pub const ERL_V4_PORT_EXT         :u8 = 0x78; // 120: 'x'
36
37//  const ERL_NEW_CACHE           :u8 = 0x4e; //  78: 'N'
38//  const ERL_CACHED_ATOM         :u8 = 0x43; //  67: 'C'
39
40//  const ERL_LINK                :u8 = 0x01; //   1
41pub const ERL_SEND                :u8 = 0x02; //   2
42pub const ERL_EXIT                :u8 = 0x03; //   3
43//  const ERL_UNLINK              :u8 = 0x04; //   4
44//  const ERL_NODE_LINK           :u8 = 0x05; //   5
45pub const ERL_REG_SEND            :u8 = 0x06; //   6
46//  const ERL_GROUP_LEADER        :u8 = 0x07; //   7
47//  const ERL_EXIT2               :u8 = 0x08; //   8
48//  const ERL_PASS_THROUGH        :u8 = 0x70; // 112: 'p'
49
50pub const ERL_SEND_TT             :u8 = 0x0c; //  12
51pub const ERL_EXIT_TT             :u8 = 0x0d; //  13
52pub const ERL_REG_SEND_TT         :u8 = 0x10; //  16
53//  const ERL_EXIT2_TT            :u8 = 0x12; //  18
54//  const ERL_MONITOR_P           :u8 = 0x13; //  19
55//  const ERL_DEMONITOR_P         :u8 = 0x14; //  20
56//  const ERL_MONITOR_P_EXIT      :u8 = 0x15; //  21
57
58pub const MAXATOMLEN           :usize = 255 + 1;
59pub const MAXATOMLEN_UTF8      :usize = 255*4 + 1;
60//  const MAXNODELEN           :usize = MAXATOMLEN;
61//  const EI_MAXHOSTNAMELEN    :usize = MAXATOMLEN - 2;
62//  const EI_MAXALIVELEN       :usize = MAXATOMLEN - 2;
63//  const EI_MAX_COOKIE_SIZE   :usize = 512;
64
65// -- ~/lib/erl_interface/src/connect/ei_connect_int.h --
66
67//  const DFLAG_PUBLISHED           :u64 = 0x00000001;
68//  const DFLAG_ATOM_CACHE          :u64 = 0x00000002;
69//  const DFLAG_EXTENDED_REFERENCES :u64 = 0x00000004;
70//  const DFLAG_DIST_MONITOR        :u64 = 0x00000008;
71//  const DFLAG_FUN_TAGS            :u64 = 0x00000010;
72//  const DFLAG_NEW_FUN_TAGS        :u64 = 0x00000080;
73//  const DFLAG_EXTENDED_PIDS_PORTS :u64 = 0x00000100;
74//  const DFLAG_EXPORT_PTR_TAG      :u64 = 0x00000200;
75//  const DFLAG_BIT_BINARIES        :u64 = 0x00000400;
76//  const DFLAG_NEW_FLOATS          :u64 = 0x00000800;
77//  const DFLAG_SMALL_ATOM_TAGS     :u64 = 0x00004000;
78//  const DFLAG_UTF8_ATOMS          :u64 = 0x00010000;
79//  const DFLAG_MAP_TAG             :u64 = 0x00020000;
80//  const DFLAG_BIG_CREATION        :u64 = 0x00040000;
81//  const DFLAG_HANDSHAKE_23        :u64 = 0x01000000;
82//  const DFLAG_UNLINK_ID           :u64 = 0x02000000;
83//  const DFLAG_MANDATORY_25_DIGEST :u64 = 0x04000000;
84//  const DFLAG_RESERVED            :u64 = 0xf8000000;
85//  const DFLAG_NAME_ME             :u64 = 0x2 << 32;
86//  const DFLAG_V4_NC               :u64 = 0x4 << 32;
87
88// -- ~/lib/erl_interface/src/connect/ei_connect.c --
89
90//  const COOKIE_FILE : &'static str = ".erlang.cookie";
91
92// -- ~/lib/erl_interface/src/epmd/ei_epmd.h --
93
94//  const EI_DIST_5            :u16 = 5; // OTP R4 - 22
95//  const EI_DIST_6            :u16 = 6; // OTP 23
96
97//  const EI_DIST_HIGH         :u16 = EI_DIST_6;
98//  const EI_DIST_LOW          :u16 = EI_DIST_5;
99
100//  const EPMD_PORT            :u16 = 4369;
101
102//  const EPMDBUF            :usize = 512;
103
104//  const EI_MYPROTO            :u8 = 0; // tcp/ip
105
106//  const EI_EPMD_ALIVE2_REQ    :u8 = 0x78; // 120: 'x'
107//  const EI_EPMD_ALIVE2_RESP   :u8 = 0x79; // 121: 'y'
108//  const EI_EPMD_ALIVE2_X_RESP :u8 = 0x76; // 118: 'v'
109//  const EI_EPMD_PORT2_REQ     :u8 = 0x7a; // 122: 'z'
110//  const EI_EPMD_PORT2_RESP    :u8 = 0x77; // 119: 'w'
111//  const EI_EPMD_STOP_REQ      :u8 = 0x73; // 115: 's'
112
113// -- ~/lib/erl_interface/src/misc/eiext.h --
114
115pub const ERL_VERSION_MAGIC :u8 = 0x83; // 131
116
117// -- --
118
119//  const EI_HIDDEN_NODE        :u8 = 0x68; // 104: 'h'
120//  const EI_SUCCESS            :i8 = 0x00;