示例#1
0
/* shutdown by [email protected] */
int shutdown(int sockfd, int how)
{
    unsigned long args[2];

    args[0] = sockfd;
    args[1] = how;
    return (__socketcall(SYS_SHUTDOWN, args));
}
示例#2
0
int listen(int sockfd, int backlog)
{
    unsigned long args[2];

    args[0] = sockfd;
    args[1] = backlog;
    return __socketcall(SYS_LISTEN, args);
}
示例#3
0
_WCRTLINK int getsockname( int s , struct sockaddr *name , socklen_t *namelen )
{
    unsigned long args[3];
    args[0] = (unsigned long)s;
    args[1] = (unsigned long)name;
    args[2] = (unsigned long)namelen;
    return( __socketcall( SYS_GETSOCKNAME, args ) );
}
示例#4
0
_WCRTLINK int bind( int sockfd, const struct sockaddr *my_addr, socklen_t addrlen )
{
    unsigned long args[3];
    args[0] = (unsigned long)sockfd;
    args[1] = (unsigned long)my_addr;
    args[2] = (unsigned long)addrlen;
    return ( __socketcall( SYS_BIND, args ) );
}
示例#5
0
_WCRTLINK int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen)
{
    unsigned long args[3];
    args[0] = (unsigned long)sockfd;
    args[1] = (unsigned long)serv_addr;
    args[2] = (unsigned long)addrlen;
    return( __socketcall( SYS_CONNECT, args ) );
}
int __libc_accept(int s, struct sockaddr *addr, socklen_t * addrlen)
{
	unsigned long args[3];

	args[0] = s;
	args[1] = (unsigned long) addr;
	args[2] = (unsigned long) addrlen;

	if (SINGLE_THREAD_P)
		return __socketcall(SYS_ACCEPT, args);

#ifdef __UCLIBC_HAS_THREADS_NATIVE__
	int oldtype = LIBC_CANCEL_ASYNC ();
	int result = __socketcall(SYS_ACCEPT, args);
	LIBC_CANCEL_RESET (oldtype);
	return result;
#endif
}
ssize_t __libc_sendmsg(int sockfd, const struct msghdr *msg, int flags)
{
	unsigned long args[3];

	args[0] = sockfd;
	args[1] = (unsigned long) msg;
	args[2] = flags;

	if (SINGLE_THREAD_P)
		return (__socketcall(SYS_SENDMSG, args));

#ifdef __UCLIBC_HAS_THREADS_NATIVE__
	int oldtype = LIBC_CANCEL_ASYNC ();
	int result = __socketcall(SYS_SENDMSG, args);
	LIBC_CANCEL_RESET (oldtype);
	return result;
#endif
}
示例#8
0
ssize_t __libc_sendmsg(int sockfd, const struct msghdr *msg, int flags)
{
    unsigned long args[3];

    args[0] = sockfd;
    args[1] = (unsigned long) msg;
    args[2] = flags;
    return (__socketcall(SYS_SENDMSG, args));
}
int __libc_connect(int sockfd, const struct sockaddr *saddr, socklen_t addrlen)
{
	unsigned long args[3];

	args[0] = sockfd;
	args[1] = (unsigned long) saddr;
	args[2] = addrlen;

	if (SINGLE_THREAD_P)
		return __socketcall(SYS_CONNECT, args);

#ifdef __UCLIBC_HAS_THREADS_NATIVE__
	int oldtype = LIBC_CANCEL_ASYNC ();
	int result = __socketcall(SYS_CONNECT, args);
	LIBC_CANCEL_RESET (oldtype);
	return result;
#endif
}
示例#10
0
_WCRTLINK int recv( int s, void *buf, size_t len, int flags )
{
    unsigned long args[4];
    args[0] = (unsigned long)s;
    args[1] = (unsigned long)buf;
    args[2] = (unsigned long)len;
    args[3] = (unsigned long)flags;
    return ( __socketcall( SYS_RECV, args ) );
}
示例#11
0
int bind(int sockfd, const struct sockaddr *myaddr, socklen_t addrlen)
{
    unsigned long args[3];

    args[0] = sockfd;
    args[1] = (unsigned long) myaddr;
    args[2] = addrlen;
    return __socketcall(SYS_BIND, args);
}
示例#12
0
int __libc_connect(int sockfd, const struct sockaddr *saddr, socklen_t addrlen)
{
    unsigned long args[3];

    args[0] = sockfd;
    args[1] = (unsigned long) saddr;
    args[2] = addrlen;
    return __socketcall(SYS_CONNECT, args);
}
示例#13
0
int getpeername(int sockfd, struct sockaddr *addr, socklen_t * paddrlen)
{
    unsigned long args[3];

    args[0] = sockfd;
    args[1] = (unsigned long) addr;
    args[2] = (unsigned long) paddrlen;
    return __socketcall(SYS_GETPEERNAME, args);
}
示例#14
0
int __libc_accept(int s, struct sockaddr *addr, socklen_t * addrlen)
{
    unsigned long args[3];

    args[0] = s;
    args[1] = (unsigned long) addr;
    args[2] = (unsigned long) addrlen;
    return __socketcall(SYS_ACCEPT, args);
}
示例#15
0
ssize_t __libc_recvmsg(int sockfd, struct msghdr *msg, int flags)
{
    unsigned long args[3];

    args[0] = sockfd;
    args[1] = (unsigned long) msg;
    args[2] = flags;
    return (__socketcall(SYS_RECVMSG, args));
}
示例#16
0
int socket(int family, int type, int protocol)
{
    unsigned long args[3];

    args[0] = family;
    args[1] = type;
    args[2] = (unsigned long) protocol;
    return __socketcall(SYS_SOCKET, args);
}
示例#17
0
/* send, sendto added by [email protected] */
ssize_t __libc_send(int sockfd, const void *buffer, size_t len, int flags)
{
    unsigned long args[4];

    args[0] = sockfd;
    args[1] = (unsigned long) buffer;
    args[2] = len;
    args[3] = flags;
    return (__socketcall(SYS_SEND, args));
}
示例#18
0
int accept4(int fd, struct sockaddr *addr, socklen_t *addrlen, int flags)
{
	unsigned long args[4];

	args[0] = fd;
	args[1] = (unsigned long) addr;
	args[2] = (unsigned long) addrlen;
	args[3] = flags;
	if (SINGLE_THREAD_P)
		return __socketcall(SYS_ACCEPT4, args);
#ifdef __UCLIBC_HAS_THREADS_NATIVE__
	else {
		int oldtype = LIBC_CANCEL_ASYNC ();
		int result = __socketcall(SYS_ACCEPT4, args);
		LIBC_CANCEL_RESET (oldtype);
		return result;
	}
#endif
}
/* send, sendto added by [email protected] */
ssize_t __libc_send(int sockfd, const void *buffer, size_t len, int flags)
{
	unsigned long args[4];

	args[0] = sockfd;
	args[1] = (unsigned long) buffer;
	args[2] = len;
	args[3] = flags;

	if (SINGLE_THREAD_P)
		return (__socketcall(SYS_SEND, args));

#ifdef __UCLIBC_HAS_THREADS_NATIVE__
	int oldtype = LIBC_CANCEL_ASYNC ();
	int result = __socketcall(SYS_SEND, args);
	LIBC_CANCEL_RESET (oldtype);
	return result;
#endif
}
示例#20
0
/* recv, recvfrom added by [email protected] */
ssize_t __libc_recv(int sockfd, __ptr_t buffer, size_t len, int flags)
{
    unsigned long args[4];

    args[0] = sockfd;
    args[1] = (unsigned long) buffer;
    args[2] = len;
    args[3] = flags;
    return (__socketcall(SYS_RECV, args));
}
示例#21
0
int socketpair(int family, int type, int protocol, int sockvec[2])
{
    unsigned long args[4];

    args[0] = family;
    args[1] = type;
    args[2] = protocol;
    args[3] = (unsigned long) sockvec;
    return __socketcall(SYS_SOCKETPAIR, args);
}
示例#22
0
_WCRTLINK int getsockopt( int s, int level, int optname, void *optval, socklen_t *optlen )
{
    u_long  args[5];

    args[0] = (u_long)s;
    args[1] = (u_long)level;
    args[2] = (u_long)optname;
    args[3] = (u_long)optval;
    args[4] = (u_long)optlen;
    return ( __socketcall( SYS_GETSOCKOPT, args ) );
}
示例#23
0
int shutdown(int sockfd, int how)
{
# ifdef __NR_shutdown
	return INLINE_SYSCALL(shutdown, 2, sockfd, how);
# else
	unsigned long args[2];

	args[0] = sockfd;
	args[1] = how;
	return __socketcall(SYS_SHUTDOWN, args);
# endif
}
示例#24
0
int listen(int sockfd, int backlog)
{
# ifdef __NR_listen
	return INLINE_SYSCALL(listen, 2, sockfd, backlog);
# else
	unsigned long args[2];

	args[0] = sockfd;
	args[1] = backlog;
	return __socketcall(SYS_LISTEN, args);
# endif
}
示例#25
0
/* [sg]etsockoptions by [email protected] */
int setsockopt(int fd, int level, int optname, const void *optval,
               socklen_t optlen)
{
    unsigned long args[5];

    args[0] = fd;
    args[1] = level;
    args[2] = optname;
    args[3] = (unsigned long) optval;
    args[4] = optlen;
    return (__socketcall(SYS_SETSOCKOPT, args));
}
示例#26
0
int socket(int family, int type, int protocol)
{
# ifdef __NR_socket
	return INLINE_SYSCALL(socket, 3, family, type, protocol);
# else
	unsigned long args[3];

	args[0] = family;
	args[1] = type;
	args[2] = (unsigned long) protocol;
	return __socketcall(SYS_SOCKET, args);
# endif
}
示例#27
0
int bind(int sockfd, const struct sockaddr *myaddr, socklen_t addrlen)
{
# ifdef __NR_bind
	return INLINE_SYSCALL(bind, 3, sockfd, myaddr, addrlen);
# else
	unsigned long args[3];

	args[0] = sockfd;
	args[1] = (unsigned long) myaddr;
	args[2] = addrlen;
	return __socketcall(SYS_BIND, args);
# endif
}
/* recv, recvfrom added by [email protected] */
ssize_t __libc_recvfrom(int sockfd, __ptr_t buffer, size_t len, int flags,
		 struct sockaddr *to, socklen_t * tolen)
{
	unsigned long args[6];

	args[0] = sockfd;
	args[1] = (unsigned long) buffer;
	args[2] = len;
	args[3] = flags;
	args[4] = (unsigned long) to;
	args[5] = (unsigned long) tolen;

	if (SINGLE_THREAD_P)
		return (__socketcall(SYS_RECVFROM, args));

#ifdef __UCLIBC_HAS_THREADS_NATIVE__
	int oldtype = LIBC_CANCEL_ASYNC ();
	int result = __socketcall(SYS_RECVFROM, args);
	LIBC_CANCEL_RESET (oldtype);
	return result;
#endif
}
示例#29
0
/* recv, recvfrom added by [email protected] */
ssize_t __libc_recvfrom(int sockfd, __ptr_t buffer, size_t len, int flags,
                        struct sockaddr *to, socklen_t * tolen)
{
    unsigned long args[6];

    args[0] = sockfd;
    args[1] = (unsigned long) buffer;
    args[2] = len;
    args[3] = flags;
    args[4] = (unsigned long) to;
    args[5] = (unsigned long) tolen;
    return (__socketcall(SYS_RECVFROM, args));
}
示例#30
0
/* send, sendto added by [email protected] */
ssize_t __libc_sendto(int sockfd, const void *buffer, size_t len, int flags,
                      const struct sockaddr *to, socklen_t tolen)
{
    unsigned long args[6];

    args[0] = sockfd;
    args[1] = (unsigned long) buffer;
    args[2] = len;
    args[3] = flags;
    args[4] = (unsigned long) to;
    args[5] = tolen;
    return (__socketcall(SYS_SENDTO, args));
}