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