27
27
#define DFLAG_DIST_MONITOR_NAME 0x20
28
28
#define DFLAG_HIDDEN_ATOM_CACHE 0x40
29
29
#define DFLAG_NEW_FUN_TAGS 0x80
30
#define DFLAG_EXTENDED_PIDS_PORTS 0x100
31
#define DFLAG_EXPORT_PTR_TAG 0x200
31
33
/* All flags that should be enabled when term_to_binary/1 is used. */
32
#define TERM_TO_BINARY_DFLAGS (DFLAG_EXTENDED_REFERENCES|DFLAG_NEW_FUN_TAGS)
34
#define TERM_TO_BINARY_DFLAGS (DFLAG_EXTENDED_REFERENCES \
35
| DFLAG_NEW_FUN_TAGS \
36
| DFLAG_EXTENDED_PIDS_PORTS \
37
| DFLAG_EXPORT_PTR_TAG)
34
39
/* opcodes used in distribution messages */
63
68
extern Export* dexit_trap;
64
69
extern Export* dmonitor_p_trap;
66
extern int dist_link(DistEntry*, Eterm, Eterm);
67
extern int dist_send(Process*, DistEntry*, Eterm, Eterm);
68
extern int dist_exit_tt(DistEntry*, Eterm, Eterm, Eterm, Eterm);
69
extern int dist_unlink(DistEntry*, Eterm, Eterm);
70
extern int dist_reg_send(Process*, DistEntry*, Eterm, Eterm);
71
extern int dist_group_leader(DistEntry*, Eterm, Eterm);
72
extern int dist_exit(DistEntry*, Eterm, Eterm, Eterm);
73
extern int dist_exit2(DistEntry*, Eterm, Eterm, Eterm);
73
extern int dist_link(Process*, Uint32, DistEntry*, Eterm, Eterm);
74
extern int dist_send(Process*, Uint32, DistEntry*, Eterm, Eterm);
75
extern int dist_exit_tt(Process*, Uint32, DistEntry*, Eterm, Eterm, Eterm, Eterm);
76
extern int dist_unlink(Process*, Uint32, DistEntry*, Eterm, Eterm);
77
extern int dist_reg_send(Process*, Uint32, DistEntry*, Eterm, Eterm);
78
extern int dist_group_leader(Process*, Uint32, DistEntry*, Eterm, Eterm);
79
extern int dist_exit(Process*, Uint32, DistEntry*, Eterm, Eterm, Eterm);
80
extern int dist_exit2(Process*, Uint32, DistEntry*, Eterm, Eterm, Eterm);
76
extern int dist_demonitor(DistEntry*, Eterm, Eterm, Eterm, int);
77
extern int dist_monitor(DistEntry*, Eterm, Eterm, Eterm);
78
extern int dist_m_exit(DistEntry*, Eterm, Eterm, Eterm, Eterm);
83
extern int dist_demonitor(Process*, Uint32, DistEntry*, Eterm, Eterm, Eterm, int);
84
extern int dist_monitor(Process*, Uint32, DistEntry*, Eterm, Eterm, Eterm);
85
extern int dist_m_exit(Process*, Uint32, DistEntry*, Eterm, Eterm, Eterm, Eterm);
80
87
extern Uint erts_dist_cache_size(void);
88
extern int erts_is_alive(void);