From b9e4ce8a4712d548b553a0f5285ed365b211c84c Mon Sep 17 00:00:00 2001 From: Patrik Nyblom Date: Thu, 1 Sep 2011 14:31:40 +0200 Subject: Move distribution headers from kernel/src to kernel/include --- lib/kernel/include/dist.hrl | 38 +++++++++++++++++ lib/kernel/include/dist_util.hrl | 87 ++++++++++++++++++++++++++++++++++++++ lib/kernel/include/net_address.hrl | 28 ++++++++++++ lib/kernel/src/Makefile | 17 +++++--- lib/kernel/src/dist.hrl | 38 ----------------- lib/kernel/src/dist_util.hrl | 87 -------------------------------------- lib/kernel/src/net_address.hrl | 28 ------------ 7 files changed, 163 insertions(+), 160 deletions(-) create mode 100644 lib/kernel/include/dist.hrl create mode 100644 lib/kernel/include/dist_util.hrl create mode 100644 lib/kernel/include/net_address.hrl delete mode 100644 lib/kernel/src/dist.hrl delete mode 100644 lib/kernel/src/dist_util.hrl delete mode 100644 lib/kernel/src/net_address.hrl (limited to 'lib') diff --git a/lib/kernel/include/dist.hrl b/lib/kernel/include/dist.hrl new file mode 100644 index 0000000000..aea1ab81ba --- /dev/null +++ b/lib/kernel/include/dist.hrl @@ -0,0 +1,38 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 1999-2009. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% + +%% +%% Distribution capabilities flags (corresponds with dist.h). +%% + +-define(DFLAG_PUBLISHED,1). +-define(DFLAG_ATOM_CACHE,2). +-define(DFLAG_EXTENDED_REFERENCES,4). +-define(DFLAG_DIST_MONITOR,8). +-define(DFLAG_FUN_TAGS,16#10). +-define(DFLAG_DIST_MONITOR_NAME,16#20). +-define(DFLAG_HIDDEN_ATOM_CACHE,16#40). +-define(DFLAG_NEW_FUN_TAGS,16#80). +-define(DFLAG_EXTENDED_PIDS_PORTS,16#100). +-define(DFLAG_EXPORT_PTR_TAG,16#200). +-define(DFLAG_BIT_BINARIES,16#400). +-define(DFLAG_NEW_FLOATS,16#800). +-define(DFLAG_UNICODE_IO,16#1000). +-define(DFLAG_DIST_HDR_ATOM_CACHE,16#2000). +-define(DFLAG_SMALL_ATOM_TAGS, 16#4000). diff --git a/lib/kernel/include/dist_util.hrl b/lib/kernel/include/dist_util.hrl new file mode 100644 index 0000000000..f2b0598532 --- /dev/null +++ b/lib/kernel/include/dist_util.hrl @@ -0,0 +1,87 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 1999-2009. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% +%% uncomment this if tracing of handshake etc is wanted +%%-define(dist_trace, true). +%%-define(dist_debug, true). + + +-ifdef(dist_debug). +-define(debug(Term), erlang:display(Term)). +-else. +-define(debug(Term), ok). +-endif. + +-ifdef(dist_trace). +-define(trace(Fmt,Args), io:format("~p ~p:~s",[erlang:now(),node(),lists:flatten(io_lib:format(Fmt, Args))])). +% Use the one below for config-file (early boot) connection tracing +%-define(trace(Fmt,Args), erlang:display([erlang:now(),node(),lists:flatten(io_lib:format(Fmt, Args))])). +-define(trace_factor,8). +-else. +-define(trace(Fmt,Args), ok). +-define(trace_factor,1). +-endif. + +-define(shutdown(Data), dist_util:shutdown(?MODULE, ?LINE, Data)). +-define(shutdown2(Data, Reason), dist_util:shutdown(?MODULE, ?LINE, Data, Reason)). + +%% Handshake state structure +-record(hs_data, { + kernel_pid, %% Pid of net_kernel + other_node, %% Name of peer + this_node, %% my nodename + socket, %% The connection "socket" + timer, %% The setup timer + %% (stream_dist_handshake:start_timer) + this_flags, %% Flags my node should use + allowed, %% Allowed nodes list + other_version, %% The other nodes distribution version + other_flags, %% The other nodes flags. + other_started, %% True if the other node initiated. + f_send, %% Fun that behaves like gen_tcp:send + f_recv, %% Fun that behaves like gen_tcp:recv + f_setopts_pre_nodeup, %% Sets "socket" options before + %% nodeup is delivered to net_kernel + f_setopts_post_nodeup, %% Sets "socket" options after + %% nodeup is delivered + f_getll, %% Get low level port or pid. + f_address, %% The address of the "socket", + %% generated from Socket,Node + %% These two are used in the tick loop, + %% so they are not fun's to avoid holding old code. + mf_tick, %% Takes the socket as parameters and + %% sends a tick, this is no fun, it + %% is a tuple {M,F}. + %% Is should place {tcp_closed, Socket} + %% in the message queue on failure. + mf_getstat, %% Returns + %% {ok, RecvCnt, SendCnt, SendPend} for + %% a given socket. This is a {M,F}, + %% returning {error, Reason on failure} + request_type = normal +}). + + +%% The following should be filled in upon enter of... +%% - handshake_we_started: +%% kernel_pid, other_node, this_node, socket, timer, +%% this_flags, other_version, All fun's/mf's. +%% - handshake_other_started: +%% kernel_pid, this_node, socket, timer, +%% this_flags, allowed, All fun's/mf's. + diff --git a/lib/kernel/include/net_address.hrl b/lib/kernel/include/net_address.hrl new file mode 100644 index 0000000000..5342076507 --- /dev/null +++ b/lib/kernel/include/net_address.hrl @@ -0,0 +1,28 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 1997-2009. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% + +%% Generic address format + +-record(net_address, + { + address, %% opaque address + host, %% host name + protocol, %% protocol + family %% address family + }). diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile index 9db6014a7d..02be6b5036 100644 --- a/lib/kernel/src/Makefile +++ b/lib/kernel/src/Makefile @@ -118,11 +118,14 @@ MODULES = \ user_sup \ wrap_log_reader -HRL_FILES= ../include/file.hrl ../include/inet.hrl ../include/inet_sctp.hrl +HRL_FILES= ../include/file.hrl ../include/inet.hrl ../include/inet_sctp.hrl \ + ../include/dist.hrl ../include/dist_util.hrl \ + ../include/net_address.hrl + INTERNAL_HRL_FILES= application_master.hrl disk_log.hrl \ - net_address.hrl inet_dns.hrl inet_res.hrl \ + inet_dns.hrl inet_res.hrl \ inet_boot.hrl inet_config.hrl inet_int.hrl \ - dist.hrl dist_util.hrl inet_dns_record_adts.hrl + inet_dns_record_adts.hrl ERL_FILES= $(MODULES:%=%.erl) @@ -215,7 +218,7 @@ $(EBIN)/code_server.beam: ../include/file.hrl $(EBIN)/disk_log.beam: disk_log.hrl $(EBIN)/disk_log_1.beam: disk_log.hrl ../include/file.hrl $(EBIN)/disk_log_server.beam: disk_log.hrl -$(EBIN)/dist_util.beam: dist_util.hrl dist.hrl +$(EBIN)/dist_util.beam: ../include/dist_util.hrl ../include/dist.hrl $(EBIN)/erl_boot_server.beam: inet_boot.hrl $(EBIN)/erl_epmd.beam: inet_int.hrl erl_epmd.hrl $(EBIN)/file.beam: ../include/file.hrl @@ -226,7 +229,7 @@ $(EBIN)/global.beam: ../../stdlib/include/ms_transform.hrl $(EBIN)/hipe_unified_loader.beam: ../../hipe/main/hipe.hrl hipe_ext_format.hrl $(EBIN)/inet.beam: ../include/inet.hrl inet_int.hrl ../include/inet_sctp.hrl $(EBIN)/inet6_tcp.beam: inet_int.hrl -$(EBIN)/inet6_tcp_dist.beam: net_address.hrl dist.hrl dist_util.hrl +$(EBIN)/inet6_tcp_dist.beam: ../include/net_address.hrl ../include/dist.hrl ../include/dist_util.hrl $(EBIN)/inet6_udp.beam: inet_int.hrl $(EBIN)/inet6_sctp.beam: inet_int.hrl $(EBIN)/inet_config.beam: inet_config.hrl ../include/inet.hrl @@ -237,10 +240,10 @@ $(EBIN)/inet_hosts.beam: ../include/inet.hrl $(EBIN)/inet_parse.beam: ../include/file.hrl $(EBIN)/inet_res.beam: ../include/inet.hrl inet_res.hrl inet_dns.hrl inet_int.hrl $(EBIN)/inet_tcp.beam: inet_int.hrl -$(EBIN)/inet_udp_dist.beam: net_address.hrl dist.hrl dist_util.hrl +$(EBIN)/inet_udp_dist.beam: ../include/net_address.hrl ../include/dist.hrl ../include/dist_util.hrl $(EBIN)/inet_udp.beam: inet_int.hrl $(EBIN)/inet_sctp.beam: inet_int.hrl ../include/inet_sctp.hrl -$(EBIN)/net_kernel.beam: net_address.hrl +$(EBIN)/net_kernel.beam: ../include/net_address.hrl $(EBIN)/os.beam: ../include/file.hrl $(EBIN)/ram_file.beam: ../include/file.hrl $(EBIN)/wrap_log_reader.beam: disk_log.hrl ../include/file.hrl diff --git a/lib/kernel/src/dist.hrl b/lib/kernel/src/dist.hrl deleted file mode 100644 index aea1ab81ba..0000000000 --- a/lib/kernel/src/dist.hrl +++ /dev/null @@ -1,38 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% -%% The contents of this file are subject to the Erlang Public License, -%% Version 1.1, (the "License"); you may not use this file except in -%% compliance with the License. You should have received a copy of the -%% Erlang Public License along with this software. If not, it can be -%% retrieved online at http://www.erlang.org/. -%% -%% Software distributed under the License is distributed on an "AS IS" -%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -%% the License for the specific language governing rights and limitations -%% under the License. -%% -%% %CopyrightEnd% -%% - -%% -%% Distribution capabilities flags (corresponds with dist.h). -%% - --define(DFLAG_PUBLISHED,1). --define(DFLAG_ATOM_CACHE,2). --define(DFLAG_EXTENDED_REFERENCES,4). --define(DFLAG_DIST_MONITOR,8). --define(DFLAG_FUN_TAGS,16#10). --define(DFLAG_DIST_MONITOR_NAME,16#20). --define(DFLAG_HIDDEN_ATOM_CACHE,16#40). --define(DFLAG_NEW_FUN_TAGS,16#80). --define(DFLAG_EXTENDED_PIDS_PORTS,16#100). --define(DFLAG_EXPORT_PTR_TAG,16#200). --define(DFLAG_BIT_BINARIES,16#400). --define(DFLAG_NEW_FLOATS,16#800). --define(DFLAG_UNICODE_IO,16#1000). --define(DFLAG_DIST_HDR_ATOM_CACHE,16#2000). --define(DFLAG_SMALL_ATOM_TAGS, 16#4000). diff --git a/lib/kernel/src/dist_util.hrl b/lib/kernel/src/dist_util.hrl deleted file mode 100644 index f2b0598532..0000000000 --- a/lib/kernel/src/dist_util.hrl +++ /dev/null @@ -1,87 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% -%% The contents of this file are subject to the Erlang Public License, -%% Version 1.1, (the "License"); you may not use this file except in -%% compliance with the License. You should have received a copy of the -%% Erlang Public License along with this software. If not, it can be -%% retrieved online at http://www.erlang.org/. -%% -%% Software distributed under the License is distributed on an "AS IS" -%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -%% the License for the specific language governing rights and limitations -%% under the License. -%% -%% %CopyrightEnd% -%% -%% uncomment this if tracing of handshake etc is wanted -%%-define(dist_trace, true). -%%-define(dist_debug, true). - - --ifdef(dist_debug). --define(debug(Term), erlang:display(Term)). --else. --define(debug(Term), ok). --endif. - --ifdef(dist_trace). --define(trace(Fmt,Args), io:format("~p ~p:~s",[erlang:now(),node(),lists:flatten(io_lib:format(Fmt, Args))])). -% Use the one below for config-file (early boot) connection tracing -%-define(trace(Fmt,Args), erlang:display([erlang:now(),node(),lists:flatten(io_lib:format(Fmt, Args))])). --define(trace_factor,8). --else. --define(trace(Fmt,Args), ok). --define(trace_factor,1). --endif. - --define(shutdown(Data), dist_util:shutdown(?MODULE, ?LINE, Data)). --define(shutdown2(Data, Reason), dist_util:shutdown(?MODULE, ?LINE, Data, Reason)). - -%% Handshake state structure --record(hs_data, { - kernel_pid, %% Pid of net_kernel - other_node, %% Name of peer - this_node, %% my nodename - socket, %% The connection "socket" - timer, %% The setup timer - %% (stream_dist_handshake:start_timer) - this_flags, %% Flags my node should use - allowed, %% Allowed nodes list - other_version, %% The other nodes distribution version - other_flags, %% The other nodes flags. - other_started, %% True if the other node initiated. - f_send, %% Fun that behaves like gen_tcp:send - f_recv, %% Fun that behaves like gen_tcp:recv - f_setopts_pre_nodeup, %% Sets "socket" options before - %% nodeup is delivered to net_kernel - f_setopts_post_nodeup, %% Sets "socket" options after - %% nodeup is delivered - f_getll, %% Get low level port or pid. - f_address, %% The address of the "socket", - %% generated from Socket,Node - %% These two are used in the tick loop, - %% so they are not fun's to avoid holding old code. - mf_tick, %% Takes the socket as parameters and - %% sends a tick, this is no fun, it - %% is a tuple {M,F}. - %% Is should place {tcp_closed, Socket} - %% in the message queue on failure. - mf_getstat, %% Returns - %% {ok, RecvCnt, SendCnt, SendPend} for - %% a given socket. This is a {M,F}, - %% returning {error, Reason on failure} - request_type = normal -}). - - -%% The following should be filled in upon enter of... -%% - handshake_we_started: -%% kernel_pid, other_node, this_node, socket, timer, -%% this_flags, other_version, All fun's/mf's. -%% - handshake_other_started: -%% kernel_pid, this_node, socket, timer, -%% this_flags, allowed, All fun's/mf's. - diff --git a/lib/kernel/src/net_address.hrl b/lib/kernel/src/net_address.hrl deleted file mode 100644 index 5342076507..0000000000 --- a/lib/kernel/src/net_address.hrl +++ /dev/null @@ -1,28 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% -%% The contents of this file are subject to the Erlang Public License, -%% Version 1.1, (the "License"); you may not use this file except in -%% compliance with the License. You should have received a copy of the -%% Erlang Public License along with this software. If not, it can be -%% retrieved online at http://www.erlang.org/. -%% -%% Software distributed under the License is distributed on an "AS IS" -%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -%% the License for the specific language governing rights and limitations -%% under the License. -%% -%% %CopyrightEnd% -%% - -%% Generic address format - --record(net_address, - { - address, %% opaque address - host, %% host name - protocol, %% protocol - family %% address family - }). -- cgit v1.2.3