Skip to content

Instantly share code, notes, and snippets.

@jlevon
Created April 24, 2020 11:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jlevon/83b3392e1e7ac3c17d7b3d129b8515fa to your computer and use it in GitHub Desktop.
Save jlevon/83b3392e1e7ac3c17d7b3d129b8515fa to your computer and use it in GitHub Desktop.
libsocket symbols
SYMBOL_VERSION ILLUMOS_0.2 { # reentrant ethers(3SOCKET)
global:
ether_aton_r;
ether_ntoa_r;
} ILLUMOS_0.1;
SYMBOL_VERSION ILLUMOS_0.1 { # illumos additions
global:
accept4;
} SUNW_1.7;
SYMBOL_VERSION SUNW_1.7 {
global:
freeifaddrs;
getifaddrs;
} SUNW_1.6;
SYMBOL_VERSION SUNW_1.6 {
global:
getipv4sourcefilter;
getsourcefilter;
setipv4sourcefilter;
setsourcefilter;
} SUNW_1.5;
SYMBOL_VERSION SUNW_1.5 {
global:
inet6_opt_append;
inet6_opt_find;
inet6_opt_finish;
inet6_opt_get_val;
inet6_opt_init;
inet6_opt_next;
inet6_opt_set_val;
inet6_rth_add;
inet6_rth_getaddr;
inet6_rth_init;
inet6_rth_reverse;
inet6_rth_segments;
inet6_rth_space;
sockatmark;
__xnet_getaddrinfo;
} SUNW_1.4;
SYMBOL_VERSION SUNW_1.4 {
global:
freeaddrinfo;
gai_strerror;
getaddrinfo;
getnameinfo;
if_freenameindex;
if_indextoname;
if_nameindex;
if_nametoindex;
in6addr_any;
in6addr_loopback;
rcmd_af;
rexec_af;
rresvport_af;
} SUNW_1.3;
# Due to mistakes made early in the history of this library, there are
# no SUNW_1.2 or SUNW_1.3 symbols, but they are now kept as placeholders.
# Don't add any symbols to these versions.
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 {
global:
__xnet_bind;
__xnet_connect;
__xnet_getsockopt;
__xnet_listen;
__xnet_recvmsg;
__xnet_sendmsg;
__xnet_sendto;
__xnet_socket;
__xnet_socketpair;
} SUNW_0.7;
SYMBOL_VERSION SUNW_0.7 {
global:
endnetent;
endprotoent;
endservent;
ether_aton;
ether_hostton;
ether_line;
ether_ntoa;
ether_ntohost;
getnetbyaddr;
getnetbyaddr_r;
getnetbyname;
getnetbyname_r;
getnetent;
getnetent_r;
getprotobyname_r;
getprotobynumber_r;
getprotoent_r;
getservbyname_r;
getservbyport_r;
getservent;
getservent_r;
htonl { TYPE = FUNCTION; FILTER = libc.so.1 };
htons { TYPE = FUNCTION; FILTER = libc.so.1 };
ntohl { TYPE = FUNCTION; FILTER = libc.so.1 };
ntohs { TYPE = FUNCTION; FILTER = libc.so.1 };
rcmd;
rexec;
rresvport;
ruserok;
setnetent;
setprotoent;
setservent;
socketpair;
# For ABI reasons, the following symbols are in SISCD_2.3 on 32-bit
# sparc, which is inherited by SUNW_0.7. On all other platforms,
# they are simply in SUNW_0.7
$if _sparc && _ELF32
} SISCD_2.3;
SYMBOL_VERSION SISCD_2.3 {
global:
$endif
accept;
bind;
connect;
getpeername;
getprotobyname;
getprotobynumber;
getprotoent;
getservbyname;
getservbyport;
getsockname;
getsockopt;
inet_lnaof { TYPE = FUNCTION; FILTER = libc.so.1 };
inet_makeaddr { TYPE = FUNCTION; FILTER = libc.so.1 };
inet_network { TYPE = FUNCTION; FILTER = libc.so.1 };
listen;
recv;
recvfrom;
recvmsg;
send;
sendmsg;
sendto;
setsockopt;
shutdown;
socket;
};
# There really should be only one SUNWprivate version.
# Don't add any more. Add new private symbols to SUNWprivate_1.3
SYMBOL_VERSION SUNWprivate_1.3 {
global:
_accept4;
_link_aton;
_link_ntoa;
_nss_initf_ethers;
_nss_initf_net;
_nss_initf_netmasks;
_nss_initf_proto;
_nss_initf_services;
getallifaddrs;
getallifs;
str2ether;
str2addr;
str2netent;
str2protoent;
} SUNWprivate_1.2;
SYMBOL_VERSION SUNWprivate_1.2 {
global:
getnetmaskbyaddr;
getnetmaskbynet;
} SUNWprivate_1.1;
SYMBOL_VERSION SUNWprivate_1.1 {
global:
_accept;
_bind;
bindresvport;
bootparams_getbyname;
_connect;
_getpeername;
_getsockname;
_getsockopt;
_listen;
_recv;
_recvfrom;
_recvmsg;
rresvport_addr;
_ruserpass;
_send;
_sendmsg;
_sendto;
_setsockopt;
_shutdown;
_socket;
_socket_bsd;
_socketpair;
_socketpair_bsd;
local:
*;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment