]> git.corax.cc Git - corax/commitdiff
Add sys_bind() syscall
authorMatthias Kruk <m@m10k.eu>
Wed, 2 Oct 2019 07:23:39 +0000 (16:23 +0900)
committerMatthias Kruk <m@m10k.eu>
Wed, 2 Oct 2019 07:23:39 +0000 (16:23 +0900)
include/corax/syscall.h
kernel/core/cxnet.c

index f0c62cdb270f0af621cc120d1d4cc5dad53c5525..1846df33bc707f463fdf40cc5f747790548b7ed1 100644 (file)
@@ -13,5 +13,6 @@
 #define SYS_SHUTDOWN   9
 #define SYS_SELECT     10
 #define SYS_POLL       11
+#define SYS_BIND       12
 
 #endif /* __CORAX_SYSCALL_H */
index b2bcd74cf48fae5a9230dbabdea0c94e317d9d36..48104bcb0e2839301e4fc4ca53b0499c6b853574 100644 (file)
@@ -75,6 +75,12 @@ int sys_poll(struct pollfd *fds, nfds_t nfds, int timeout)
        return(-ENOSYS);
 }
 
+int sys_bind(int sockfd, const struct sockaddr *addr,
+                        socklen_t addrlen)
+{
+       return(-ENOSYS);
+}
+
 int sys_cxnet(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6)
 {
        int ret_val;
@@ -209,8 +215,20 @@ int sys_cxnet(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5,
 
                break;
 
+       case SYS_BIND:
+#if FEATURE(DEBUG_NET)
+               dbg_printf("sys_bind(0x%08x, %p, 0x%08x)\n",
+                                  arg1, arg2, arg3);
+#endif /* FEATURE(DEBUG_NET) */
+
+               ret_val = sys_bind((int)arg1, (const struct sockaddr*)arg2,
+                                                  (socklen_t)arg3);
+
+               break;
+
        default:
                ret_val = -ENOSYS;
+               break;
        }
 
        return(ret_val);