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

arch_prctl	EXTRA	arch_prctl	i:ii	__arch_prctl	arch_prctl
modify_ldt	EXTRA	modify_ldt	i:ipi	__modify_ldt	modify_ldt
msgctl		-	msgctl		i:iip	__msgctl	msgctl
msgget		-	msgget		i:ii	__msgget	msgget
msgrcv		-	msgrcv		Ci:ibnii __msgrcv	msgrcv
msgsnd		-	msgsnd		Ci:ibni	__msgsnd	msgsnd
shmat		-	shmat		i:ipi	__shmat		shmat
shmctl		-	shmctl		i:iip	__shmctl	shmctl
shmdt		-	shmdt		i:s	__shmdt		shmdt
shmget		-	shmget		i:iii	__shmget	shmget
semop		-	semop		i:ipi	__semop		semop
semtimedop	-	semtimedop	i:ipip	semtimedop
semget		-	semget		i:iii	__semget	semget
semctl		-	semctl		i:iiii	__semctl	semctl


# proper socket implementations:
accept		-	accept		Ci:iBN	__libc_accept	__accept accept
bind		-	bind		i:ipi	__bind		bind
connect		-	connect		Ci:ipi	__libc_connect	__connect_internal __connect connect
getpeername	-	getpeername	i:ipp	__getpeername	getpeername
getsockname	-	getsockname	i:ipp	__getsockname	getsockname
getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt
listen		-	listen		i:ii	__listen	listen
recvfrom	-	recvfrom	Ci:ibniBN	__libc_recvfrom	__recvfrom recvfrom
recvmsg		-	recvmsg		Ci:ipi	__libc_recvmsg	__recvmsg recvmsg
sendmsg		-	sendmsg		Ci:ipi	__libc_sendmsg	__sendmsg sendmsg
sendto		-	sendto		Ci:ibnibn	__libc_sendto	__sendto sendto
setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
shutdown	-	shutdown	i:ii	__shutdown	shutdown
socket		-	socket		i:iii	__socket	socket
socketpair	-	socketpair	i:iiif	__socketpair	socketpair
