# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. # Copyright 2018 Nexenta Systems, Inc. # # # MAPFILE HEADER START # # WARNING: STOP NOW. DO NOT MODIFY THIS FILE. # Object versioning must comply with the rules detailed in # # usr/src/lib/README.mapfiles # # You should not be making modifications here until you've read the most current # copy of that file. If you need help, contact a gatekeeper for guidance. # # MAPFILE HEADER END # $mapfile_version 2 SYMBOL_VERSION ILLUMOS_0.1 { # illumos additions global: svc_tp_create_addr; } SUNW_1.10; SYMBOL_VERSION SUNW_1.10 { # SunOS 5.11 (Solaris 11) global: SUNW_1.10; } SUNW_1.9.1; SYMBOL_VERSION SUNW_1.9.1 { # SunOS 5.10 (Solaris 10 update 5) global: inet_aton { TYPE = FUNCTION; FILTER = libc.so.1; }; } SUNW_1.9; SYMBOL_VERSION SUNW_1.9 { # SunOS 5.10 (Solaris 10) global: freeipsecalgent; getipsecalgbyname; getipsecalgbynum; getipsecprotobyname; getipsecprotobynum; svc_fd_negotiate_ucred; svc_getcallerucred; } SUNW_1.8; SYMBOL_VERSION SUNW_1.8 { # SunOS 5.9 (Solaris 9) global: clnt_send; svc_add_input; svc_remove_input; } SUNW_1.7; SYMBOL_VERSION SUNW_1.7 { # SunOS 5.8 (Solaris 8) global: freehostent; getipnodebyaddr; getipnodebyname; inet_ntop { TYPE = FUNCTION; FILTER = libc.so.1; }; inet_pton { TYPE = FUNCTION; FILTER = libc.so.1; }; } SUNW_1.6; SYMBOL_VERSION SUNW_1.6 { # SunOS 5.7 (Solaris 7) global: _xti_rcvreldata; _xti_rcvv; _xti_rcvvudata; _xti_sndreldata; _xti_sndv; _xti_sndvudata; _xti_sysconf; _xti_xns5_accept; _xti_xns5_snd; } SUNW_1.5; # The empty versions SUNW_1.2 through SUNW_1.5 must be preserved because # applications built on Solaris 2.6 Beta (when they did contain symbols) # may depend on them. All symbol content for SunOS 5.6 is now in SUNW_1.1 SYMBOL_VERSION SUNW_1.5 { global: SUNW_1.5; } SUNW_1.4; SYMBOL_VERSION SUNW_1.4 { global: SUNW_1.4; } SUNW_1.3; SYMBOL_VERSION SUNW_1.3 { global: SUNW_1.3; } SUNW_1.2; SYMBOL_VERSION SUNW_1.2 { global: SUNW_1.2; } SUNW_1.1; SYMBOL_VERSION SUNW_1.1 { # SunOS 5.6 (Solaris 2.6) global: clnt_create_vers_timed; clnt_door_create; $if _ELF32 _new_svc_fdset { ASSERT = { TYPE = OBJECT; SIZE = 8192; }; }; $endif rpc_gss_getcred; rpc_gss_get_error; rpc_gss_get_mechanisms; rpc_gss_get_mech_info; rpc_gss_get_principal_name; rpc_gss_get_versions; rpc_gss_is_installed; rpc_gss_max_data_length; rpc_gss_mech_to_oid; rpc_gss_qop_to_num; rpc_gss_seccreate; rpc_gss_set_callback; rpc_gss_set_defaults; rpc_gss_set_svc_name; rpc_gss_svc_max_data_length; svc_door_create; svc_max_pollfd { ASSERT = { TYPE = OBJECT; SIZE = 4; }; }; svc_pollfd { ASSERT = { TYPE = OBJECT; SIZE = addrsize; }; }; _xti_accept; _xti_alloc; _xti_bind; _xti_close; _xti_connect; _xti_error; _xti_free; _xti_getinfo; _xti_getprotaddr; _xti_getstate; _xti_listen; _xti_look; _xti_open; _xti_optmgmt; _xti_rcv; _xti_rcvconnect; _xti_rcvdis; _xti_rcvrel; _xti_rcvudata; _xti_rcvuderr; _xti_snd; _xti_snddis; _xti_sndrel; _xti_sndudata; _xti_strerror; _xti_sync; _xti_unbind; } SUNW_0.9; SYMBOL_VERSION SUNW_0.9 { # SunOS 5.5 (Solaris 2.5) global: clnt_create_timed; clnt_tp_create_timed; getrpcport; } SUNW_0.8; SYMBOL_VERSION SUNW_0.8 { # SunOS 5.4 (Solaris 2.4) global: rpc_control; svc_done; } SUNW_0.7; # SUNW_0.7 is complicated by ABI issues: # # - On 32-bit sparc, SUNW_0.7 contains __rpc_createerr and svc_exit, and # inherits everyting else from SISCD_2.3, which in turn inherits from # SYSVABI_1.3. # - On 32-bit X86, there is no SISCD_2.3, the symbols it contained are # instead found in SUNW_0.7, which directly inherits SYSVABI_1.3. # - The other platforms do not have SISCD_2.3, or SYSVABI_1.3, and everything # is directly found in in SUNW_0.7, which does not inherit anything. # SYMBOL_VERSION SUNW_0.7 { # SunOS 5.3 (Solaris 2.3) global: authdes_create; authdes_lock { ASSERT = { TYPE = OBJECT; SIZE = 24; }; }; auth_destroy; callrpc; clnt_broadcast; clnt_call; clnt_control; clnt_create_vers; clnt_destroy; clnt_freeres; clnt_geterr; clntraw_create; clnttcp_create; clntudp_bufcreate; clntudp_create; dbmclose; dbminit; delete; des_setparity; dial; doconfig; endhostent; endrpcent; fetch; firstkey; gethostbyaddr_r; gethostbyname_r; gethostent; gethostent_r; get_myaddress; getrpcbyname; getrpcbyname_r; getrpcbynumber; getrpcbynumber_r; getrpcent; getrpcent_r; h_errno { FLAGS = NODIRECT; ASSERT = { TYPE = OBJECT; SIZE = 4; }; }; inet_ntoa_r { TYPE = FUNCTION; FILTER = libc.so.1; }; key_secretkey_is_set; maxbno { ASSERT = { TYPE = OBJECT; SIZE = addrsize; }; }; nc_sperror; netdir_perror; netdir_sperror; nextkey; nis_clone_object; nis_destroy_object; nis_dir_cmp; nis_domain_of; nis_leaf_of; nis_leaf_of_r; nis_local_directory; nis_local_group; nis_local_host; nis_name_of; pmap_getmaps; pmap_getport; pmap_rmtcall; pmap_set; pmap_unset; registerrpc; __rpc_createerr; sethostent; setrpcent; store; svc_auth_reg; svc_control; svc_destroy; svc_dg_enablecache; svcfd_create; svc_exit; svc_freeargs; svc_getargs; svc_getreq; svc_getreq_common; svc_getreq_poll; svc_getrpccaller; svcraw_create; svc_register; svctcp_create; svcudp_bufcreate; svcudp_create; svc_unregister; __t_errno; t_getname; t_nerr { ASSERT = { TYPE = OBJECT; SIZE = 4; }; }; t_strerror; undial; xdr_destroy; xdr_getpos; xdr_hyper; xdr_inline; xdr_longlong_t; xdr_quadruple; xdrrec_endofrecord; xdrrec_readbytes; xdr_setpos; xdr_sizeof; xdr_u_hyper; xdr_u_int; xdr_u_longlong_t; yp_all; yp_bind; yperr_string; yp_first; yp_get_default_domain; yp_master; yp_match; yp_next; yp_order; ypprot_err; yp_unbind; yp_update; $if _sparc && _ELF32 } SISCD_2.3; SYMBOL_VERSION SISCD_2.3 { global: $endif gethostbyaddr; gethostbyname; inet_addr { TYPE = FUNCTION; FILTER = libc.so.1; }; inet_netof { TYPE = FUNCTION; FILTER = libc.so.1; }; inet_ntoa { TYPE = FUNCTION; FILTER = libc.so.1; }; _null_auth { ASSERT = { TYPE = OBJECT; SIZE = addrsize[3]; }; }; rpc_broadcast_exp; svc_fdset { ASSERT = { TYPE = OBJECT; SIZE = 8192; }; }; $if _ELF32 } SYSVABI_1.3; SYMBOL_VERSION SYSVABI_1.3 { global: $endif authdes_getucred; authdes_seccreate; authnone_create; authsys_create; authsys_create_default; clnt_create; clnt_dg_create; clnt_pcreateerror; clnt_perrno; clnt_perror; clnt_raw_create; clnt_spcreateerror; clnt_sperrno; clnt_sperror; clnt_tli_create; clnt_tp_create; clnt_vc_create; endnetconfig; endnetpath; freenetconfigent; getnetconfig; getnetconfigent; getnetname; getnetpath; getpublickey; getsecretkey; host2netname; key_decryptsession; key_encryptsession; key_gendes; key_setsecret; nc_perror; _nderror { ASSERT = { TYPE = OBJECT; SIZE = 4; }; }; netdir_free; netdir_getbyaddr; netdir_getbyname; netdir_options; netname2host; netname2user; rpcb_getaddr; rpcb_getmaps; rpcb_gettime; rpcb_rmtcall; rpc_broadcast; rpcb_set; rpcb_unset; rpc_call; rpc_createerr { ASSERT = { TYPE = OBJECT; SIZE = 16; }; }; rpc_reg; setnetconfig; setnetpath; svc_create; svc_dg_create; svcerr_auth; svcerr_decode; svcerr_noproc; svcerr_noprog; svcerr_progvers; svcerr_systemerr; svcerr_weakauth; svc_fd_create; svc_getreqset; svc_raw_create; svc_reg; svc_run; svc_sendreply; svc_tli_create; svc_tp_create; svc_unreg; svc_vc_create; t_accept; taddr2uaddr; t_alloc; t_bind; t_close; t_connect; t_errno { ASSERT = { TYPE = OBJECT; SIZE = 4; }; }; t_error; t_free; t_getinfo; t_getstate; t_listen; t_look; t_open; t_optmgmt; t_rcv; t_rcvconnect; t_rcvdis; t_rcvrel; t_rcvudata; t_rcvuderr; t_snd; t_snddis; t_sndrel; t_sndudata; t_sync; t_unbind; uaddr2taddr; user2netname; xdr_accepted_reply; xdr_array; xdr_authsys_parms; xdr_bool; xdr_bytes; xdr_callhdr; xdr_callmsg; xdr_char; xdr_double; xdr_enum; xdr_float; xdr_free; xdr_int; xdr_long; xdrmem_create; xdr_opaque; xdr_opaque_auth; xdr_pointer; xdrrec_create; xdrrec_eof; xdrrec_skiprecord; xdr_reference; xdr_rejected_reply; xdr_replymsg; xdr_short; xdrstdio_create; xdr_string; xdr_u_char; xdr_u_long; xdr_union; xdr_u_short; xdr_vector; xdr_void; xdr_wrapstring; xprt_register; xprt_unregister; }; # There really should be only one SUNWprivate version. # Don't add any more. Add new private symbols to SUNWprivate_1.5 SYMBOL_VERSION SUNWprivate_1.5 { global: clnt_create_service_timed; inet_matchaddr; } SUNWprivate_1.4; SYMBOL_VERSION SUNWprivate_1.4 { global: _build_internal_algs; _check_daemon_lock; _clean_trash; _create_daemon_lock; _duplicate_alg; _enter_daemon_lock; _real_getipsecalgs; _real_getipsecprotos; str2hostent6; _str_to_ipsec_exec_mode; __yp_all_cflookup; } SUNWprivate_1.3; SYMBOL_VERSION SUNWprivate_1.3 { global: key_call_ruid; key_removesecret_g_ruid; key_secretkey_is_set_g_ruid; key_setnet_g_ruid; key_setnet_ruid; } SUNWprivate_1.2; SYMBOL_VERSION SUNWprivate_1.2 { global: _doexeclist; _dup_execstr; _endauthattr; _endauuser; _endexecattr; __endhostent6; _endprofattr; _enduserattr; _escape; _exec_cleanup; _exec_wild_id; _fgetuserattr; _free_execstr; _getauthattr; _getauthnam; _getauuserent; _getauusernam; _getexecattr; _getexecprof; __gethostent6; _getprofattr; _getprofnam; _getuserattr; _getusernam; __nis_netconfig2ep; __nis_netconfig_matches_ep; _readbufline; __rpc_bindresvport_ipv6; _setauthattr; _setauuser; _setexecattr; __sethostent6; _setprofattr; _setuserattr; _strdup_null; _strpbrk_escape; _strtok_escape; _switch_getipnodebyaddr_r; _switch_getipnodebyname_r; _uncached_getipnodebyaddr; _uncached_getipnodebyname; _unescape; __yp_first_cflookup; __yp_match_cflookup; __yp_match_rsvdport_cflookup; __yp_next_cflookup; } SUNWprivate_1.1; SYMBOL_VERSION SUNWprivate_1.1 { global: __authenticate; bitno { ASSERT = { TYPE = OBJECT; SIZE = addrsize; }; }; blkno { ASSERT = { TYPE = OBJECT; SIZE = addrsize; }; }; calchash; cbc_crypt; __cbc_triple_crypt; check_version; __clnt_create_loopback; dbrdonly { ASSERT = { TYPE = OBJECT; SIZE = 4; }; }; __des_crypt; des_setparity_g; dirbuf { ASSERT = { TYPE = OBJECT; SIZE = 4096; }; }; dirf { ASSERT = { TYPE = OBJECT; SIZE = 4; }; }; ecb_crypt; __empty_yp_cache; firsthash; __gen_common_dhkeys_g; __gen_dhkeys; __gen_dhkeys_g; getdomainname; gethostname { TYPE = FUNCTION; FILTER = libc.so.1; }; _get_hostserv_inetnetdir_byaddr; _get_hostserv_inetnetdir_byname; __getnetnamebyuid; __getpublickey_cached; __getpublickey_cached_g; __getpublickey_flush; __getpublickey_flush_g; getpublickey_g; getsecretkey_g; hashinc; _herrno2nss; hmask { ASSERT = { TYPE = OBJECT; SIZE = addrsize; }; }; __inet_address_count; __inet_free_local_interfaces; __inet_get_addr; __inet_get_local_interfaces; __inet_get_networka; __inet_get_uaddr; __inet_uaddr_is_local; key_call; key_decryptsession_g; key_decryptsession_pk; key_decryptsession_pk_g; __key_decryptsession_pk_LOCAL { ASSERT = { TYPE = OBJECT; SIZE = addrsize; }; }; key_encryptsession_g; key_encryptsession_pk; key_encryptsession_pk_g; __key_encryptsession_pk_LOCAL { ASSERT = { TYPE = OBJECT; SIZE = addrsize; }; }; key_gendes_g; __key_gendes_LOCAL { ASSERT = { TYPE = OBJECT; SIZE = addrsize; }; }; key_get_conv; key_get_conv_g; key_removesecret_g; key_secretkey_is_set_g; key_setnet; key_setnet_g; key_setsecret_g; makdatum; __nderror; __netdir_getbyaddr_nosrv; __nis_authtype2mechalias; __nis_clnt_create; __nis_dhext_extract_pkey; __nis_get_mechanism_library; __nis_get_mechanisms; __nis_get_mechanism_symbol; nis_get_static_storage; __nis_gssprin2netname; __nis_keyalg2authtype; __nis_keyalg2mechalias; __nis_mechalias2authtype; __nis_mechname2alias; nis_read_obj; __nis_release_mechanisms; __nis_rpc_domain; __nis_translate_mechanism; nis_write_obj; __nsl_dom { ASSERT = { TYPE = OBJECT; SIZE = 16; }; }; __nss2herrno; nss_ioctl; order_haddrlist_af; pagbuf { ASSERT = { TYPE = OBJECT; SIZE = 1024; }; }; pagf { ASSERT = { TYPE = OBJECT; SIZE = 4; }; }; passwd2des; passwd2des_g; __rpcbind_is_up; __rpc_bindresvport; rpcb_taddr2uaddr; rpcb_uaddr2taddr; __rpc_control; __rpc_dtbsize; __rpc_endconf; __rpcfd_to_nconf; __rpc_get_a_size; __rpc_getconf; __rpc_getconfip; __rpc_get_default_domain; __rpc_get_local_uid; __rpc_get_t_size; __rpc_matchserv; __rpc_negotiate_uid; __rpc_select_to_poll; __rpc_setconf; __rpc_timeval_to_msec; __rpc_tli_set_options; rtime_tli; setdomainname; __seterr_reply; str2hostent; str2servent; __svcauth_des; svc_get_local_cred; _svc_getreqset_proc { ASSERT = { TYPE = OBJECT; SIZE = addrsize; }; }; __svc_get_svcauth; __svc_set_proc_cleanup_cb; __svc_vc_dup; __svc_vc_dupcache_init; __svc_vc_dupdone; svc_xprt_alloc; svc_xprt_free; _switch_gethostbyaddr_r; _switch_gethostbyname_r; t_errlist { ASSERT = { TYPE = OBJECT; SIZE = addrsize[58]; }; }; tiusr_statetbl { ASSERT = { TYPE = OBJECT; SIZE = 225; }; }; _uncached_gethostbyaddr_r; _uncached_gethostbyname_r; usingypmap; xdecrypt; xdecrypt_g; xdr_authdes_cred; xdr_authdes_verf; xdr_cryptkeyarg; xdr_cryptkeyarg2; xdr_cryptkeyarg3; xdr_cryptkeyres; xdr_cryptkeyres3; xdr_datum; xdr_des_block; xdr_deskeyarg3; xdr_deskeyarray; xdr_directory_obj; xdr_endpoint; xdr_entry_obj; xdr_getcredres; xdr_getcredres3; xdr_gid_t; xdr_int16_t; xdr_int32_t; xdr_int64_t; xdr_int8_t; xdr_keybuf; xdr_keybuf3; xdr_key_netstarg; xdr_key_netstarg3; xdr_key_netstres; xdr_key_netstres3; xdr_keynum_t; xdr_keystatus; xdr_mechtype; xdr_netbuf; xdr_netnamestr; xdr_netobj; xdr_nis_attr; xdr_nis_name; xdr_nis_object; xdr_nis_oid; xdr_nis_server; xdr_objdata; xdr_pmap; xdr_pmaplist; xdr_pmaplist_ptr; xdr_rmtcallargs; xdr_rmtcallres; xdr_rpcb; xdr_rpcb_entry; xdr_rpcb_entry_list_ptr; xdr_rpcblist; xdr_rpcblist_ptr; xdr_rpcb_rmtcallargs; xdr_rpcb_rmtcallres; xdr_rpcbs_addrlist; xdr_rpcbs_addrlist_ptr; xdr_rpcbs_proc; xdr_rpcbs_rmtcalllist; xdr_rpcbs_rmtcalllist_ptr; xdr_rpcb_stat; xdr_rpcb_stat_byvers; xdr_setkeyarg3; xdr_table_obj; xdr_uid_t; xdr_uint16_t; xdr_uint32_t; xdr_uint64_t; xdr_uint8_t; xdr_ulonglong_t; xdr_unixcred; xdr_ypall; xdr_ypbind_domain; xdr_ypbind_resp; xdr_ypbind_resptype; xdr_ypbind_setdom; xdr_yp_buf; xdr_ypdelete_args; xdr_ypdomain_wrap_string; xdr_ypmap_parms; xdr_ypmap_wrap_string; xdr_ypowner_wrap_string; xdr_yppasswd; xdr_yppushresp_xfr; xdr_ypreq_key; xdr_ypreq_newxfr; xdr_ypreq_nokey; xdr_ypreq_xfr; xdr_ypresp_key_val; xdr_ypresp_maplist; xdr_ypresp_master; xdr_ypresp_order; xdr_ypresp_val; xdr_ypupdate_args; xencrypt; xencrypt_g; __yp_add_binding; __yp_all_rsvdport; ypbindproc_domain_3; __yp_clnt_create_rsvdport; __yp_dobind; __yp_master_rsvdport; yp_match_rsvdport; __yp_rel_binding; local: *; };