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 
  44 SYMBOL_VERSION ILLUMOS_0.2 {    # reentrant ethers(3SOCKET)
  45     global:
  46         ether_aton_r;
  47         ether_ntoa_r;
  48 } ILLUMOS_0.1;
  49 
  50 SYMBOL_VERSION ILLUMOS_0.1 {    # illumos additions
  51     global:
  52         accept4;
  53 } SUNW_1.7;
  54 
  55 SYMBOL_VERSION SUNW_1.7 {
  56     global:
  57         freeifaddrs;
  58         getifaddrs;
  59 } SUNW_1.6;
  60 
  61 SYMBOL_VERSION SUNW_1.6 {
  62     global:
  63         getipv4sourcefilter;
  64         getsourcefilter;
  65         setipv4sourcefilter;
  66         setsourcefilter;
  67 } SUNW_1.5;
  68 
  69 SYMBOL_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 
  88 SYMBOL_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 
 109 SYMBOL_VERSION SUNW_1.3 {
 110     global:
 111         SUNW_1.3;
 112 } SUNW_1.2;
 113 
 114 SYMBOL_VERSION SUNW_1.2 {
 115     global:
 116         SUNW_1.2;
 117 } SUNW_1.1;
 118 
 119 SYMBOL_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 
 132 SYMBOL_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 
 174 SYMBOL_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 
 206 SYMBOL_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 
 224 SYMBOL_VERSION SUNWprivate_1.2 {
 225     global:
 226         getnetmaskbyaddr;
 227         getnetmaskbynet;
 228 } SUNWprivate_1.1;
 229 
 230 SYMBOL_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 };