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;