1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21
22#
23# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
24# Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
25# Copyright 2018 Nexenta Systems, Inc.
26#
27
28#
29# MAPFILE HEADER START
30#
31# WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
32# Object versioning must comply with the rules detailed in
33#
34#	usr/src/lib/README.mapfiles
35#
36# You should not be making modifications here until you've read the most current
37# copy of that file. If you need help, contact a gatekeeper for guidance.
38#
39# MAPFILE HEADER END
40#
41
42$mapfile_version 2
43
44SYMBOL_VERSION ILLUMOS_0.2 {	# reentrant ethers(3SOCKET)
45    global:
46	ether_aton_r;
47	ether_ntoa_r;
48} ILLUMOS_0.1;
49
50SYMBOL_VERSION ILLUMOS_0.1 {    # illumos additions
51    global:
52	accept4;
53} SUNW_1.7;
54
55SYMBOL_VERSION SUNW_1.7 {
56    global:
57	freeifaddrs;
58	getifaddrs;
59} SUNW_1.6;
60
61SYMBOL_VERSION SUNW_1.6 {
62    global:
63	getipv4sourcefilter;
64	getsourcefilter;
65	setipv4sourcefilter;
66	setsourcefilter;
67} SUNW_1.5;
68
69SYMBOL_VERSION SUNW_1.5 {
70    global:
71	inet6_opt_append;
72	inet6_opt_find;
73	inet6_opt_finish;
74	inet6_opt_get_val;
75	inet6_opt_init;
76	inet6_opt_next;
77	inet6_opt_set_val;
78	inet6_rth_add;
79	inet6_rth_getaddr;
80	inet6_rth_init;
81	inet6_rth_reverse;
82	inet6_rth_segments;
83	inet6_rth_space;
84	sockatmark;
85	__xnet_getaddrinfo;
86} SUNW_1.4;
87
88SYMBOL_VERSION SUNW_1.4 {
89    global:
90	freeaddrinfo;
91	gai_strerror;
92	getaddrinfo;
93	getnameinfo;
94	if_freenameindex;
95	if_indextoname;
96	if_nameindex;
97	if_nametoindex;
98	in6addr_any;
99	in6addr_loopback;
100	rcmd_af;
101	rexec_af;
102	rresvport_af;
103} SUNW_1.3;
104
105# Due to mistakes made early in the history of this library, there are
106# no SUNW_1.2 or SUNW_1.3 symbols, but they are now kept as placeholders.
107# Don't add any symbols to these versions.
108
109SYMBOL_VERSION SUNW_1.3 {
110    global:
111	SUNW_1.3;
112} SUNW_1.2;
113
114SYMBOL_VERSION SUNW_1.2 {
115    global:
116	SUNW_1.2;
117} SUNW_1.1;
118
119SYMBOL_VERSION SUNW_1.1 {
120    global:
121	__xnet_bind;
122	__xnet_connect;
123	__xnet_getsockopt;
124	__xnet_listen;
125	__xnet_recvmsg;
126	__xnet_sendmsg;
127	__xnet_sendto;
128	__xnet_socket;
129	__xnet_socketpair;
130} SUNW_0.7;
131
132SYMBOL_VERSION SUNW_0.7 {
133    global:
134	endnetent;
135	endprotoent;
136	endservent;
137	ether_aton;
138	ether_hostton;
139	ether_line;
140	ether_ntoa;
141	ether_ntohost;
142	getnetbyaddr;
143	getnetbyaddr_r;
144	getnetbyname;
145	getnetbyname_r;
146	getnetent;
147	getnetent_r;
148	getprotobyname_r;
149	getprotobynumber_r;
150	getprotoent_r;
151	getservbyname_r;
152	getservbyport_r;
153	getservent;
154	getservent_r;
155	htonl			{ TYPE = FUNCTION; FILTER = libc.so.1 };
156	htons			{ TYPE = FUNCTION; FILTER = libc.so.1 };
157	ntohl			{ TYPE = FUNCTION; FILTER = libc.so.1 };
158	ntohs			{ TYPE = FUNCTION; FILTER = libc.so.1 };
159	rcmd;
160	rexec;
161	rresvport;
162	ruserok;
163	setnetent;
164	setprotoent;
165	setservent;
166	socketpair;
167
168	# For ABI reasons, the following symbols are in SISCD_2.3 on 32-bit
169	# sparc, which is inherited by SUNW_0.7. On all other platforms,
170	# they are simply in SUNW_0.7
171$if _sparc && _ELF32
172} SISCD_2.3;
173
174SYMBOL_VERSION SISCD_2.3 {
175    global:
176$endif
177	accept;
178	bind;
179	connect;
180	getpeername;
181	getprotobyname;
182	getprotobynumber;
183	getprotoent;
184	getservbyname;
185	getservbyport;
186	getsockname;
187	getsockopt;
188	inet_lnaof		{ TYPE = FUNCTION; FILTER = libc.so.1 };
189	inet_makeaddr		{ TYPE = FUNCTION; FILTER = libc.so.1 };
190	inet_network		{ TYPE = FUNCTION; FILTER = libc.so.1 };
191	listen;
192	recv;
193	recvfrom;
194	recvmsg;
195	send;
196	sendmsg;
197	sendto;
198	setsockopt;
199	shutdown;
200	socket;
201};
202
203# There really should be only one SUNWprivate version.
204# Don't add any more.  Add new private symbols to SUNWprivate_1.3
205
206SYMBOL_VERSION SUNWprivate_1.3 {
207    global:
208	_accept4;
209	_link_aton;
210	_link_ntoa;
211	_nss_initf_ethers;
212	_nss_initf_net;
213	_nss_initf_netmasks;
214	_nss_initf_proto;
215	_nss_initf_services;
216	getallifaddrs;
217	getallifs;
218	str2ether;
219	str2addr;
220	str2netent;
221	str2protoent;
222} SUNWprivate_1.2;
223
224SYMBOL_VERSION SUNWprivate_1.2 {
225    global:
226	getnetmaskbyaddr;
227	getnetmaskbynet;
228} SUNWprivate_1.1;
229
230SYMBOL_VERSION SUNWprivate_1.1 {
231    global:
232	_accept;
233	_bind;
234	bindresvport;
235	bootparams_getbyname;
236	_connect;
237	_getpeername;
238	_getsockname;
239	_getsockopt;
240	_listen;
241	_recv;
242	_recvfrom;
243	_recvmsg;
244	rresvport_addr;
245	_ruserpass;
246	_send;
247	_sendmsg;
248	_sendto;
249	_setsockopt;
250	_shutdown;
251	_socket;
252	_socket_bsd;
253	_socketpair;
254	_socketpair_bsd;
255    local:
256	*;
257};
258