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.3 { # AF_LINK workaround 45 global: 46 __getifaddrs; 47} ILLUMOS_0.2; 48 49SYMBOL_VERSION ILLUMOS_0.2 { # reentrant ethers(3SOCKET) 50 global: 51 ether_aton_r; 52 ether_ntoa_r; 53} ILLUMOS_0.1; 54 55SYMBOL_VERSION ILLUMOS_0.1 { # illumos additions 56 global: 57 accept4; 58} SUNW_1.7; 59 60SYMBOL_VERSION SUNW_1.7 { 61 global: 62 freeifaddrs; 63 getifaddrs; 64} SUNW_1.6; 65 66SYMBOL_VERSION SUNW_1.6 { 67 global: 68 getipv4sourcefilter; 69 getsourcefilter; 70 setipv4sourcefilter; 71 setsourcefilter; 72} SUNW_1.5; 73 74SYMBOL_VERSION SUNW_1.5 { 75 global: 76 inet6_opt_append; 77 inet6_opt_find; 78 inet6_opt_finish; 79 inet6_opt_get_val; 80 inet6_opt_init; 81 inet6_opt_next; 82 inet6_opt_set_val; 83 inet6_rth_add; 84 inet6_rth_getaddr; 85 inet6_rth_init; 86 inet6_rth_reverse; 87 inet6_rth_segments; 88 inet6_rth_space; 89 sockatmark; 90 __xnet_getaddrinfo; 91} SUNW_1.4; 92 93SYMBOL_VERSION SUNW_1.4 { 94 global: 95 freeaddrinfo; 96 gai_strerror; 97 getaddrinfo; 98 getnameinfo; 99 if_freenameindex; 100 if_indextoname; 101 if_nameindex; 102 if_nametoindex; 103 in6addr_any { 104 ASSERT = { 105 TYPE = OBJECT; 106 SIZE = 16; 107 }; 108 }; 109 in6addr_loopback { 110 ASSERT = { 111 TYPE = OBJECT; 112 SIZE = 16; 113 }; 114 }; 115 rcmd_af; 116 rexec_af; 117 rresvport_af; 118} SUNW_1.3; 119 120# Due to mistakes made early in the history of this library, there are 121# no SUNW_1.2 or SUNW_1.3 symbols, but they are now kept as placeholders. 122# Don't add any symbols to these versions. 123 124SYMBOL_VERSION SUNW_1.3 { 125 global: 126 SUNW_1.3; 127} SUNW_1.2; 128 129SYMBOL_VERSION SUNW_1.2 { 130 global: 131 SUNW_1.2; 132} SUNW_1.1; 133 134SYMBOL_VERSION SUNW_1.1 { 135 global: 136 __xnet_bind; 137 __xnet_connect; 138 __xnet_getsockopt; 139 __xnet_listen; 140 __xnet_recvmsg; 141 __xnet_sendmsg; 142 __xnet_sendto; 143 __xnet_socket; 144 __xnet_socketpair; 145} SUNW_0.7; 146 147SYMBOL_VERSION SUNW_0.7 { 148 global: 149 endnetent; 150 endprotoent; 151 endservent; 152 ether_aton; 153 ether_hostton; 154 ether_line; 155 ether_ntoa; 156 ether_ntohost; 157 getnetbyaddr; 158 getnetbyaddr_r; 159 getnetbyname; 160 getnetbyname_r; 161 getnetent; 162 getnetent_r; 163 getprotobyname_r; 164 getprotobynumber_r; 165 getprotoent_r; 166 getservbyname_r; 167 getservbyport_r; 168 getservent; 169 getservent_r; 170 htonl { TYPE = FUNCTION; FILTER = libc.so.1; }; 171 htons { TYPE = FUNCTION; FILTER = libc.so.1; }; 172 ntohl { TYPE = FUNCTION; FILTER = libc.so.1; }; 173 ntohs { TYPE = FUNCTION; FILTER = libc.so.1; }; 174 rcmd; 175 rexec; 176 rresvport; 177 ruserok; 178 setnetent; 179 setprotoent; 180 setservent; 181 socketpair; 182 183 # For ABI reasons, the following symbols are in SISCD_2.3 on 32-bit 184 # sparc, which is inherited by SUNW_0.7. On all other platforms, 185 # they are simply in SUNW_0.7 186$if _sparc && _ELF32 187} SISCD_2.3; 188 189SYMBOL_VERSION SISCD_2.3 { 190 global: 191$endif 192 accept; 193 bind; 194 connect; 195 getpeername; 196 getprotobyname; 197 getprotobynumber; 198 getprotoent; 199 getservbyname; 200 getservbyport; 201 getsockname; 202 getsockopt; 203 inet_lnaof { TYPE = FUNCTION; FILTER = libc.so.1; }; 204 inet_makeaddr { TYPE = FUNCTION; FILTER = libc.so.1; }; 205 inet_network { TYPE = FUNCTION; FILTER = libc.so.1; }; 206 listen; 207 recv; 208 recvfrom; 209 recvmsg; 210 send; 211 sendmsg; 212 sendto; 213 setsockopt; 214 shutdown; 215 socket; 216}; 217 218# There really should be only one SUNWprivate version. 219# Don't add any more. Add new private symbols to SUNWprivate_1.3 220 221SYMBOL_VERSION SUNWprivate_1.3 { 222 global: 223 _accept4; 224 _link_aton; 225 _link_ntoa; 226 _nss_initf_ethers; 227 _nss_initf_net; 228 _nss_initf_netmasks; 229 _nss_initf_proto; 230 _nss_initf_services; 231 getallifaddrs; 232 getallifs; 233 str2ether; 234 str2addr; 235 str2netent; 236 str2protoent; 237} SUNWprivate_1.2; 238 239SYMBOL_VERSION SUNWprivate_1.2 { 240 global: 241 getnetmaskbyaddr; 242 getnetmaskbynet; 243} SUNWprivate_1.1; 244 245SYMBOL_VERSION SUNWprivate_1.1 { 246 global: 247 _accept; 248 _bind; 249 bindresvport; 250 bootparams_getbyname; 251 _connect; 252 _getpeername; 253 _getsockname; 254 _getsockopt; 255 _listen; 256 _recv; 257 _recvfrom; 258 _recvmsg; 259 rresvport_addr; 260 _ruserpass; 261 _send; 262 _sendmsg; 263 _sendto; 264 _setsockopt; 265 _shutdown; 266 _socket; 267 _socket_bsd; 268 _socketpair; 269 _socketpair_bsd; 270 local: 271 *; 272}; 273