xref: /illumos-gate/usr/src/lib/libsocket/common/mapfile-vers (revision 1e8d79d21400b4e47d64ce367181e7e5ce992649)
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				  ASSERT = {
100					  TYPE = OBJECT;
101					  SIZE = 16;
102					};
103				};
104	in6addr_loopback	{
105				  ASSERT = {
106					  TYPE = OBJECT;
107					  SIZE = 16;
108					};
109				};
110	rcmd_af;
111	rexec_af;
112	rresvport_af;
113} SUNW_1.3;
114
115# Due to mistakes made early in the history of this library, there are
116# no SUNW_1.2 or SUNW_1.3 symbols, but they are now kept as placeholders.
117# Don't add any symbols to these versions.
118
119SYMBOL_VERSION SUNW_1.3 {
120    global:
121	SUNW_1.3;
122} SUNW_1.2;
123
124SYMBOL_VERSION SUNW_1.2 {
125    global:
126	SUNW_1.2;
127} SUNW_1.1;
128
129SYMBOL_VERSION SUNW_1.1 {
130    global:
131	__xnet_bind;
132	__xnet_connect;
133	__xnet_getsockopt;
134	__xnet_listen;
135	__xnet_recvmsg;
136	__xnet_sendmsg;
137	__xnet_sendto;
138	__xnet_socket;
139	__xnet_socketpair;
140} SUNW_0.7;
141
142SYMBOL_VERSION SUNW_0.7 {
143    global:
144	endnetent;
145	endprotoent;
146	endservent;
147	ether_aton;
148	ether_hostton;
149	ether_line;
150	ether_ntoa;
151	ether_ntohost;
152	getnetbyaddr;
153	getnetbyaddr_r;
154	getnetbyname;
155	getnetbyname_r;
156	getnetent;
157	getnetent_r;
158	getprotobyname_r;
159	getprotobynumber_r;
160	getprotoent_r;
161	getservbyname_r;
162	getservbyport_r;
163	getservent;
164	getservent_r;
165	htonl	{ TYPE = FUNCTION; FILTER = libc.so.1; };
166	htons	{ TYPE = FUNCTION; FILTER = libc.so.1; };
167	ntohl	{ TYPE = FUNCTION; FILTER = libc.so.1; };
168	ntohs	{ TYPE = FUNCTION; FILTER = libc.so.1; };
169	rcmd;
170	rexec;
171	rresvport;
172	ruserok;
173	setnetent;
174	setprotoent;
175	setservent;
176	socketpair;
177
178	# For ABI reasons, the following symbols are in SISCD_2.3 on 32-bit
179	# sparc, which is inherited by SUNW_0.7. On all other platforms,
180	# they are simply in SUNW_0.7
181$if _sparc && _ELF32
182} SISCD_2.3;
183
184SYMBOL_VERSION SISCD_2.3 {
185    global:
186$endif
187	accept;
188	bind;
189	connect;
190	getpeername;
191	getprotobyname;
192	getprotobynumber;
193	getprotoent;
194	getservbyname;
195	getservbyport;
196	getsockname;
197	getsockopt;
198	inet_lnaof	{ TYPE = FUNCTION; FILTER = libc.so.1; };
199	inet_makeaddr	{ TYPE = FUNCTION; FILTER = libc.so.1; };
200	inet_network	{ TYPE = FUNCTION; FILTER = libc.so.1; };
201	listen;
202	recv;
203	recvfrom;
204	recvmsg;
205	send;
206	sendmsg;
207	sendto;
208	setsockopt;
209	shutdown;
210	socket;
211};
212
213# There really should be only one SUNWprivate version.
214# Don't add any more.  Add new private symbols to SUNWprivate_1.3
215
216SYMBOL_VERSION SUNWprivate_1.3 {
217    global:
218	_accept4;
219	_link_aton;
220	_link_ntoa;
221	_nss_initf_ethers;
222	_nss_initf_net;
223	_nss_initf_netmasks;
224	_nss_initf_proto;
225	_nss_initf_services;
226	getallifaddrs;
227	getallifs;
228	str2ether;
229	str2addr;
230	str2netent;
231	str2protoent;
232} SUNWprivate_1.2;
233
234SYMBOL_VERSION SUNWprivate_1.2 {
235    global:
236	getnetmaskbyaddr;
237	getnetmaskbynet;
238} SUNWprivate_1.1;
239
240SYMBOL_VERSION SUNWprivate_1.1 {
241    global:
242	_accept;
243	_bind;
244	bindresvport;
245	bootparams_getbyname;
246	_connect;
247	_getpeername;
248	_getsockname;
249	_getsockopt;
250	_listen;
251	_recv;
252	_recvfrom;
253	_recvmsg;
254	rresvport_addr;
255	_ruserpass;
256	_send;
257	_sendmsg;
258	_sendto;
259	_setsockopt;
260	_shutdown;
261	_socket;
262	_socket_bsd;
263	_socketpair;
264	_socketpair_bsd;
265    local:
266	*;
267};
268