diff --git a/include/sys/syscall_lookup.h b/include/sys/syscall_lookup.h index 5a75cb4dd07..160936be07c 100644 --- a/include/sys/syscall_lookup.h +++ b/include/sys/syscall_lookup.h @@ -347,7 +347,6 @@ SYSCALL_LOOKUP(munmap, 2) /* The following are defined only if networking AND sockets are supported */ #ifdef CONFIG_NET - SYSCALL_LOOKUP(accept, 3) SYSCALL_LOOKUP(accept4, 4) SYSCALL_LOOKUP(bind, 3) SYSCALL_LOOKUP(connect, 3) diff --git a/libs/libc/net/Make.defs b/libs/libc/net/Make.defs index ef2e50a8b42..7a98c7b519b 100644 --- a/libs/libc/net/Make.defs +++ b/libs/libc/net/Make.defs @@ -26,7 +26,7 @@ CSRCS += lib_inetntop.c lib_inetpton.c lib_inetnetwork.c CSRCS += lib_etherntoa.c lib_etheraton.c ifeq ($(CONFIG_NET),y) -CSRCS += lib_shutdown.c +CSRCS += lib_accept.c lib_shutdown.c endif ifeq ($(CONFIG_NET_LOOPBACK),y) diff --git a/libs/libc/net/lib_accept.c b/libs/libc/net/lib_accept.c new file mode 100644 index 00000000000..fa7c8ee0672 --- /dev/null +++ b/libs/libc/net/lib_accept.c @@ -0,0 +1,51 @@ +/**************************************************************************** + * libs/libc/net/lib_accept.c + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +/**************************************************************************** + * Name: accept + * + * Description: + * The accept() call is identical to accept4() with a zero flags. + * + * Input Parameters: + * sockfd The listening socket descriptor + * addr Receives the address of the connecting client + * addrlen Input: allocated size of 'addr', + * Return: returned size of 'addr' + * + * Returned Value: + * (see accept4) + * + ****************************************************************************/ + +int accept(int sockfd, FAR struct sockaddr *addr, FAR socklen_t *addrlen) +{ + return accept4(sockfd, addr, addrlen, 0); +} diff --git a/net/socket/accept.c b/net/socket/accept.c index c0a2cc0eb39..5a55e041659 100644 --- a/net/socket/accept.c +++ b/net/socket/accept.c @@ -316,25 +316,3 @@ errout: _SO_SETERRNO(psock, errcode); return ERROR; } - -/**************************************************************************** - * Name: accept - * - * Description: - * The accept() call is identical to accept4() with a zero flags. - * - * Input Parameters: - * sockfd The listening socket descriptor - * addr Receives the address of the connecting client - * addrlen Input: allocated size of 'addr', - * Return: returned size of 'addr' - * - * Returned Value: - * (see accept4) - * - ****************************************************************************/ - -int accept(int sockfd, FAR struct sockaddr *addr, FAR socklen_t *addrlen) -{ - return accept4(sockfd, addr, addrlen, 0); -} diff --git a/syscall/syscall.csv b/syscall/syscall.csv index 042f2760602..4df02fe6f9e 100644 --- a/syscall/syscall.csv +++ b/syscall/syscall.csv @@ -1,6 +1,5 @@ "_exit","unistd.h","","noreturn","int" "_assert","assert.h","","void","FAR const char *","int" -"accept","sys/socket.h","defined(CONFIG_NET)","int","int","FAR struct sockaddr *","FAR socklen_t *" "accept4","sys/socket.h","defined(CONFIG_NET)","int","int","FAR struct sockaddr *","FAR socklen_t *","int" "adjtime","sys/time.h","defined(CONFIG_CLOCK_TIMEKEEPING)","int","FAR const struct timeval *","FAR struct timeval *" "aio_cancel","aio.h","defined(CONFIG_FS_AIO)","int","int","FAR struct aiocb *"