# File name	Caller	Syscall name	# args	Strong name	Weak names

accept		-	accept		Ci:iBN	__libc_accept	accept
bind		-	bind		i:ipi	__bind		bind
connect		-	connect		Ci:ipi	__libc_connect	__connect __connect_internal connect
gethostid	-	gethostid	i:	gethostid
gethostname	-	gethostname	i:bn	__gethostname	gethostname
getpeername	-	getpeername	i:ibN	__getpeername	getpeername
getsockname	-	getsockname	i:ibN	__getsockname	getsockname
getsockopt	-	getsockopt	i:iiiBN	getsockopt
listen		-	listen		i:ii	__listen	listen
recv		-	recv		Ci:ibni	__libc_recv	recv
recvfrom	-	recvfrom	Ci:ibniBN	__libc_recvfrom __recvfrom recvfrom
recvmsg		-	recvmsg		Ci:ipi	__libc_recvmsg	__recvmsg recvmsg
send		-	send		Ci:ibni	__libc_send	__send send 
sendmsg		-	sendmsg		Ci:ipi	__libc_sendmsg	__sendmsg sendmsg
sendto		-	sendto		Ci:ibnibn	__libc_sendto	__sendto sendto
sethostid	-	sethostid	i:i	sethostid
sethostname	-	sethostname	i:pi	sethostname
setsockopt	-	setsockopt	i:iiibn	setsockopt	__setsockopt
shutdown	-	shutdown	i:ii	shutdown
socket		-	socket		i:iii	__socket	socket
socketpair	-	socketpair	i:iiif	socketpair
