--- /dev/null
+#include <config.h>
+#include <corax/types.h>
+#include <corax/errno.h>
+#include <corax/syscall.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/select.h>
+#include <sys/time.h>
+#include <poll.h>
+#include <debug.h>
+
+int sys_socket(int domain, int type, int protocol)
+{
+ return(-ENOSYS);
+}
+
+int sys_close(int sockfd)
+{
+ return(-ENOSYS);
+}
+
+int sys_sendto(int sockfd, const void *buf, size_t len, int flags,
+ const struct sockaddr *dest_addr, socklen_t addrlen)
+{
+ return(-ENOSYS);
+}
+
+int sys_recvfrom(int sockfd, void *buf, size_t len, int flags,
+ struct sockaddr *src_addr, socklen_t *addrlen)
+{
+ return(-ENOSYS);
+}
+
+int sys_connect(int sockfd, const struct sockaddr *addr,
+ socklen_t addrlen)
+{
+ return(-ENOSYS);
+}
+
+int sys_listen(int sockfd, int backlog)
+{
+ return(-ENOSYS);
+}
+
+int sys_accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen)
+{
+ return(-ENOSYS);
+}
+
+int sys_setsockopt(int sockfd, int level, int optname,
+ const void *optval, socklen_t optlen)
+{
+ return(-ENOSYS);
+}
+
+int sys_getsockopt(int sockfd, int level, int optname,
+ void *optval, socklen_t *optlen)
+{
+ return(-ENOSYS);
+}
+
+int sys_shutdown(int sockfd, int how)
+{
+ return(-ENOSYS);
+}
+
+int sys_select(int nfds, fd_set *readfds, fd_set *writefds,
+ fd_set *exceptfds, struct timeval *timeout)
+{
+ return(-ENOSYS);
+}
+
+int sys_poll(struct pollfd *fds, nfds_t nfds, int timeout)
+{
+ return(-ENOSYS);
+}
+
+int sys_cxnet(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6)
+{
+ int ret_val;
+
+ ret_val = -EFAULT;
+
+ switch(arg0) {
+ case SYS_SOCKET:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_socket(0x%08x, 0x%08x, 0x%08x)\n",
+ arg1, arg2, arg3);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_socket((int)arg1, (int)arg2, (int)arg3);
+
+ break;
+
+ case SYS_CLOSE:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_close(0x%08x)\n",
+ arg1);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_close((int)arg1);
+
+ break;
+
+ case SYS_SENDTO:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_sendto(0x%08x, %p, 0x%08x, 0x%08x, %p, 0x%08x)\n",
+ arg1, arg2, arg3, arg4, arg5, arg6);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_sendto((int)arg1, (const void*)arg2, (size_t)arg3, (int)arg4,
+ (const struct sockaddr*)arg5, (socklen_t)arg6);
+
+ break;
+
+ case SYS_RECVFROM:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_recvfrom(0x%08x, %p, 0x%08x, 0x%08x, %p, 0x%08x)\n",
+ arg1, arg2, arg3, arg4, arg5, arg6);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_recvfrom((int)arg1, (void*)arg2, (size_t)arg3, (int)arg4,
+ (struct sockaddr*)arg5, (socklen_t*)arg6);
+
+ break;
+
+ case SYS_CONNECT:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_connect(0x%08x, %p, 0x%08x)\n",
+ arg1, arg2, arg3);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_connect((int)arg1, (const struct sockaddr*)arg2,
+ (socklen_t)arg3);
+
+ break;
+
+ case SYS_LISTEN:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_listen(0x%08x, 0x%08x)\n",
+ arg1, arg2);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_listen((int)arg1, (int)arg2);
+
+ break;
+
+ case SYS_ACCEPT:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_accept(0x%08x, %p, %p)\n",
+ arg1, arg2, arg3);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_accept((int)arg1, (struct sockaddr*)arg2,
+ (socklen_t*)arg3);
+
+ break;
+
+ case SYS_SETSOCKOPT:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_setsockopt(0x%08x, 0x%08x, 0x%08x, %p, 0x%08x)\n",
+ arg1, arg2, arg3, arg4, arg5);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_setsockopt((int)arg1, (int)arg2, (int)arg3,
+ (const void*)arg4, (socklen_t)arg5);
+
+ break;
+
+ case SYS_GETSOCKOPT:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_getsockopt(0x%08x, 0x%08x, 0x%08x, %p, %p)\n",
+ arg1, arg2, arg3, arg4, arg5);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_getsockopt((int)arg1, (int)arg2, (int)arg3,
+ (void*)arg4, (socklen_t*)arg5);
+
+ break;
+
+ case SYS_SHUTDOWN:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_shutdown(0x%08x, 0x%08x)\n",
+ arg1, arg2);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_shutdown((int)arg1, (int)arg2);
+
+ break;
+
+ case SYS_SELECT:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_select(0x%08x, %p, %p, %p, %p)\n",
+ arg1, arg2, arg3, arg4, arg5);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_select((int)arg1, (fd_set*)arg2, (fd_set*)arg3,
+ (fd_set*)arg4, (struct timeval*)arg5);
+
+ break;
+
+ case SYS_POLL:
+#if FEATURE(DEBUG_NET)
+ dbg_printf("sys_poll(%p, 0x%08x, 0x%08x)\n",
+ arg1, arg2, arg3);
+#endif /* FEATURE(DEBUG_NET) */
+
+ ret_val = sys_poll((struct pollfd*)arg1, (nfds_t)arg2, (int)arg3);
+
+ break;
+
+ default:
+ ret_val = -ENOSYS;
+ }
+
+ return(ret_val);
+}