mirror of
https://github.com/apache/nuttx.git
synced 2026-05-27 11:26:12 +08:00
net: Make si_listen callback optional
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
committed by
Petro Karashchenko
parent
2553b7701c
commit
a97e2523a4
@@ -57,7 +57,6 @@ static int bluetooth_getsockname(FAR struct socket *psock,
|
|||||||
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
||||||
static int bluetooth_getpeername(FAR struct socket *psock,
|
static int bluetooth_getpeername(FAR struct socket *psock,
|
||||||
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
||||||
static int bluetooth_listen(FAR struct socket *psock, int backlog);
|
|
||||||
static int bluetooth_connect(FAR struct socket *psock,
|
static int bluetooth_connect(FAR struct socket *psock,
|
||||||
FAR const struct sockaddr *addr, socklen_t addrlen);
|
FAR const struct sockaddr *addr, socklen_t addrlen);
|
||||||
static int bluetooth_accept(FAR struct socket *psock,
|
static int bluetooth_accept(FAR struct socket *psock,
|
||||||
@@ -87,7 +86,7 @@ const struct sock_intf_s g_bluetooth_sockif =
|
|||||||
bluetooth_bind, /* si_bind */
|
bluetooth_bind, /* si_bind */
|
||||||
bluetooth_getsockname, /* si_getsockname */
|
bluetooth_getsockname, /* si_getsockname */
|
||||||
bluetooth_getpeername, /* si_getpeername */
|
bluetooth_getpeername, /* si_getpeername */
|
||||||
bluetooth_listen, /* si_listen */
|
NULL, /* si_listen */
|
||||||
bluetooth_connect, /* si_connect */
|
bluetooth_connect, /* si_connect */
|
||||||
bluetooth_accept, /* si_accept */
|
bluetooth_accept, /* si_accept */
|
||||||
bluetooth_poll_local, /* si_poll */
|
bluetooth_poll_local, /* si_poll */
|
||||||
@@ -672,36 +671,6 @@ static int bluetooth_getpeername(FAR struct socket *psock,
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: bluetooth_listen
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* To accept connections, a socket is first created with psock_socket(), a
|
|
||||||
* willingness to accept incoming connections and a queue limit for
|
|
||||||
* incoming connections are specified with psock_listen(), and then the
|
|
||||||
* connections are accepted with psock_accept(). For the case of
|
|
||||||
* PF_BLUETOOTH sockets, psock_listen() calls this function. The listen()
|
|
||||||
* call does not apply only to PF_BLUETOOTH sockets.
|
|
||||||
*
|
|
||||||
* Input Parameters:
|
|
||||||
* psock Reference to an internal, boound socket structure.
|
|
||||||
* backlog The maximum length the queue of pending connections may grow.
|
|
||||||
* If a connection request arrives with the queue full, the client
|
|
||||||
* may receive an error with an indication of ECONNREFUSED or,
|
|
||||||
* if the underlying protocol supports retransmission, the request
|
|
||||||
* may be ignored so that retries succeed.
|
|
||||||
*
|
|
||||||
* Returned Value:
|
|
||||||
* On success, zero is returned. On error, a negated errno value is
|
|
||||||
* returned. See listen() for the set of appropriate error values.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
int bluetooth_listen(FAR struct socket *psock, int backlog)
|
|
||||||
{
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: bluetooth_poll
|
* Name: bluetooth_poll
|
||||||
*
|
*
|
||||||
|
|||||||
+1
-33
@@ -53,7 +53,6 @@ static sockcaps_t can_sockcaps(FAR struct socket *psock);
|
|||||||
static void can_addref(FAR struct socket *psock);
|
static void can_addref(FAR struct socket *psock);
|
||||||
static int can_bind(FAR struct socket *psock,
|
static int can_bind(FAR struct socket *psock,
|
||||||
FAR const struct sockaddr *addr, socklen_t addrlen);
|
FAR const struct sockaddr *addr, socklen_t addrlen);
|
||||||
static int can_listen(FAR struct socket *psock, int backlog);
|
|
||||||
static int can_connect(FAR struct socket *psock,
|
static int can_connect(FAR struct socket *psock,
|
||||||
FAR const struct sockaddr *addr, socklen_t addrlen);
|
FAR const struct sockaddr *addr, socklen_t addrlen);
|
||||||
static int can_accept(FAR struct socket *psock, FAR struct sockaddr *addr,
|
static int can_accept(FAR struct socket *psock, FAR struct sockaddr *addr,
|
||||||
@@ -74,7 +73,7 @@ const struct sock_intf_s g_can_sockif =
|
|||||||
can_bind, /* si_bind */
|
can_bind, /* si_bind */
|
||||||
NULL, /* si_getsockname */
|
NULL, /* si_getsockname */
|
||||||
NULL, /* si_getpeername */
|
NULL, /* si_getpeername */
|
||||||
can_listen, /* si_listen */
|
NULL, /* si_listen */
|
||||||
can_connect, /* si_connect */
|
can_connect, /* si_connect */
|
||||||
can_accept, /* si_accept */
|
can_accept, /* si_accept */
|
||||||
can_poll_local, /* si_poll */
|
can_poll_local, /* si_poll */
|
||||||
@@ -338,37 +337,6 @@ static int can_bind(FAR struct socket *psock,
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: can_listen
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* To accept connections, a socket is first created with psock_socket(), a
|
|
||||||
* willingness to accept incoming connections and a queue limit for
|
|
||||||
* incoming connections are specified with psock_listen(), and then the
|
|
||||||
* connections are accepted with psock_accept(). For the case of AFINET
|
|
||||||
* and AFINET6 sockets, psock_listen() calls this function. The
|
|
||||||
* psock_listen() call applies only to sockets of type SOCK_STREAM or
|
|
||||||
* SOCK_SEQPACKET.
|
|
||||||
*
|
|
||||||
* Input Parameters:
|
|
||||||
* psock Reference to an internal, bound socket structure.
|
|
||||||
* backlog The maximum length the queue of pending connections may grow.
|
|
||||||
* If a connection request arrives with the queue full, the client
|
|
||||||
* may receive an error with an indication of ECONNREFUSED or,
|
|
||||||
* if the underlying protocol supports retransmission, the request
|
|
||||||
* may be ignored so that retries succeed.
|
|
||||||
*
|
|
||||||
* Returned Value:
|
|
||||||
* On success, zero is returned. On error, a negated errno value is
|
|
||||||
* returned. See listen() for the set of appropriate error values.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
static int can_listen(FAR struct socket *psock, int backlog)
|
|
||||||
{
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: can_connect
|
* Name: can_connect
|
||||||
*
|
*
|
||||||
|
|||||||
+1
-32
@@ -47,7 +47,6 @@
|
|||||||
static int icmp_setup(FAR struct socket *psock);
|
static int icmp_setup(FAR struct socket *psock);
|
||||||
static sockcaps_t icmp_sockcaps(FAR struct socket *psock);
|
static sockcaps_t icmp_sockcaps(FAR struct socket *psock);
|
||||||
static void icmp_addref(FAR struct socket *psock);
|
static void icmp_addref(FAR struct socket *psock);
|
||||||
static int icmp_listen(FAR struct socket *psock, int backlog);
|
|
||||||
static int icmp_connect(FAR struct socket *psock,
|
static int icmp_connect(FAR struct socket *psock,
|
||||||
FAR const struct sockaddr *addr, socklen_t addrlen);
|
FAR const struct sockaddr *addr, socklen_t addrlen);
|
||||||
static int icmp_accept(FAR struct socket *psock,
|
static int icmp_accept(FAR struct socket *psock,
|
||||||
@@ -69,7 +68,7 @@ const struct sock_intf_s g_icmp_sockif =
|
|||||||
NULL, /* si_bind */
|
NULL, /* si_bind */
|
||||||
NULL, /* si_getsockname */
|
NULL, /* si_getsockname */
|
||||||
NULL, /* si_getpeername */
|
NULL, /* si_getpeername */
|
||||||
icmp_listen, /* si_listen */
|
NULL, /* si_listen */
|
||||||
icmp_connect, /* si_connect */
|
icmp_connect, /* si_connect */
|
||||||
icmp_accept, /* si_accept */
|
icmp_accept, /* si_accept */
|
||||||
icmp_netpoll, /* si_poll */
|
icmp_netpoll, /* si_poll */
|
||||||
@@ -273,36 +272,6 @@ static int icmp_accept(FAR struct socket *psock, FAR struct sockaddr *addr,
|
|||||||
return -EAFNOSUPPORT;
|
return -EAFNOSUPPORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: icmp_listen
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* To accept connections, a socket is first created with psock_socket(), a
|
|
||||||
* willingness to accept incoming connections and a queue limit for
|
|
||||||
* incoming connections are specified with psock_listen(), and then the
|
|
||||||
* connections are accepted with psock_accept(). For the case of raw
|
|
||||||
* packet sockets, psock_listen() calls this function. The psock_listen()
|
|
||||||
* call applies only to sockets of type SOCK_STREAM or SOCK_SEQPACKET.
|
|
||||||
*
|
|
||||||
* Input Parameters:
|
|
||||||
* psock Reference to an internal, boound socket structure.
|
|
||||||
* backlog The maximum length the queue of pending connections may grow.
|
|
||||||
* If a connection request arrives with the queue full, the client
|
|
||||||
* may receive an error with an indication of ECONNREFUSED or,
|
|
||||||
* if the underlying protocol supports retransmission, the request
|
|
||||||
* may be ignored so that retries succeed.
|
|
||||||
*
|
|
||||||
* Returned Value:
|
|
||||||
* On success, zero is returned. On error, a negated errno value is
|
|
||||||
* returned. See listen() for the set of appropriate error values.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
int icmp_listen(FAR struct socket *psock, int backlog)
|
|
||||||
{
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: icmp_netpoll
|
* Name: icmp_netpoll
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -47,7 +47,6 @@
|
|||||||
static int icmpv6_setup(FAR struct socket *psock);
|
static int icmpv6_setup(FAR struct socket *psock);
|
||||||
static sockcaps_t icmpv6_sockcaps(FAR struct socket *psock);
|
static sockcaps_t icmpv6_sockcaps(FAR struct socket *psock);
|
||||||
static void icmpv6_addref(FAR struct socket *psock);
|
static void icmpv6_addref(FAR struct socket *psock);
|
||||||
static int icmpv6_listen(FAR struct socket *psock, int backlog);
|
|
||||||
static int icmpv6_connect(FAR struct socket *psock,
|
static int icmpv6_connect(FAR struct socket *psock,
|
||||||
FAR const struct sockaddr *addr, socklen_t addrlen);
|
FAR const struct sockaddr *addr, socklen_t addrlen);
|
||||||
static int icmpv6_accept(FAR struct socket *psock,
|
static int icmpv6_accept(FAR struct socket *psock,
|
||||||
@@ -69,7 +68,7 @@ const struct sock_intf_s g_icmpv6_sockif =
|
|||||||
NULL, /* si_bind */
|
NULL, /* si_bind */
|
||||||
NULL, /* si_getsockname */
|
NULL, /* si_getsockname */
|
||||||
NULL, /* si_getpeername */
|
NULL, /* si_getpeername */
|
||||||
icmpv6_listen, /* si_listen */
|
NULL, /* si_listen */
|
||||||
icmpv6_connect, /* si_connect */
|
icmpv6_connect, /* si_connect */
|
||||||
icmpv6_accept, /* si_accept */
|
icmpv6_accept, /* si_accept */
|
||||||
icmpv6_netpoll, /* si_poll */
|
icmpv6_netpoll, /* si_poll */
|
||||||
@@ -273,36 +272,6 @@ static int icmpv6_accept(FAR struct socket *psock, FAR struct sockaddr *addr,
|
|||||||
return -EAFNOSUPPORT;
|
return -EAFNOSUPPORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: icmpv6_listen
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* To accept connections, a socket is first created with psock_socket(), a
|
|
||||||
* willingness to accept incoming connections and a queue limit for
|
|
||||||
* incoming connections are specified with psock_listen(), and then the
|
|
||||||
* connections are accepted with psock_accept(). For the case of raw
|
|
||||||
* packet sockets, psock_listen() calls this function. The psock_listen()
|
|
||||||
* call applies only to sockets of type SOCK_STREAM or SOCK_SEQPACKET.
|
|
||||||
*
|
|
||||||
* Input Parameters:
|
|
||||||
* psock Reference to an internal, boound socket structure.
|
|
||||||
* backlog The maximum length the queue of pending connections may grow.
|
|
||||||
* If a connection request arrives with the queue full, the client
|
|
||||||
* may receive an error with an indication of ECONNREFUSED or,
|
|
||||||
* if the underlying protocol supports retransmission, the request
|
|
||||||
* may be ignored so that retries succeed.
|
|
||||||
*
|
|
||||||
* Returned Value:
|
|
||||||
* On success, zero is returned. On error, a negated errno value is
|
|
||||||
* returned. See listen() for the set of appropriate error values.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
int icmpv6_listen(FAR struct socket *psock, int backlog)
|
|
||||||
{
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: icmpv6_netpoll
|
* Name: icmpv6_netpoll
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ static int ieee802154_getsockname(FAR struct socket *psock,
|
|||||||
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
||||||
static int ieee802154_getpeername(FAR struct socket *psock,
|
static int ieee802154_getpeername(FAR struct socket *psock,
|
||||||
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
||||||
static int ieee802154_listen(FAR struct socket *psock, int backlog);
|
|
||||||
static int ieee802154_connect(FAR struct socket *psock,
|
static int ieee802154_connect(FAR struct socket *psock,
|
||||||
FAR const struct sockaddr *addr, socklen_t addrlen);
|
FAR const struct sockaddr *addr, socklen_t addrlen);
|
||||||
static int ieee802154_accept(FAR struct socket *psock,
|
static int ieee802154_accept(FAR struct socket *psock,
|
||||||
@@ -77,7 +76,7 @@ const struct sock_intf_s g_ieee802154_sockif =
|
|||||||
ieee802154_bind, /* si_bind */
|
ieee802154_bind, /* si_bind */
|
||||||
ieee802154_getsockname, /* si_getsockname */
|
ieee802154_getsockname, /* si_getsockname */
|
||||||
ieee802154_getpeername, /* si_getpeername */
|
ieee802154_getpeername, /* si_getpeername */
|
||||||
ieee802154_listen, /* si_listen */
|
NULL, /* si_listen */
|
||||||
ieee802154_connect, /* si_connect */
|
ieee802154_connect, /* si_connect */
|
||||||
ieee802154_accept, /* si_accept */
|
ieee802154_accept, /* si_accept */
|
||||||
ieee802154_poll_local, /* si_poll */
|
ieee802154_poll_local, /* si_poll */
|
||||||
@@ -546,36 +545,6 @@ static int ieee802154_getpeername(FAR struct socket *psock,
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: ieee802154_listen
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* To accept connections, a socket is first created with psock_socket(), a
|
|
||||||
* willingness to accept incoming connections and a queue limit for
|
|
||||||
* incoming connections are specified with psock_listen(), and then the
|
|
||||||
* connections are accepted with psock_accept(). For the case of
|
|
||||||
* PF_IEEE802154 sockets, psock_listen() calls this function. The listen()
|
|
||||||
* call does not apply only to PF_IEEE802154 sockets.
|
|
||||||
*
|
|
||||||
* Input Parameters:
|
|
||||||
* psock Reference to an internal, boound socket structure.
|
|
||||||
* backlog The maximum length the queue of pending connections may grow.
|
|
||||||
* If a connection request arrives with the queue full, the client
|
|
||||||
* may receive an error with an indication of ECONNREFUSED or,
|
|
||||||
* if the underlying protocol supports retransmission, the request
|
|
||||||
* may be ignored so that retries succeed.
|
|
||||||
*
|
|
||||||
* Returned Value:
|
|
||||||
* On success, zero is returned. On error, a negated errno value is
|
|
||||||
* returned. See listen() for the set of appropriate error values.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
int ieee802154_listen(FAR struct socket *psock, int backlog)
|
|
||||||
{
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: ieee802154_poll
|
* Name: ieee802154_poll
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -56,9 +56,6 @@ static int local_getsockname(FAR struct socket *psock,
|
|||||||
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
||||||
static int local_getpeername(FAR struct socket *psock,
|
static int local_getpeername(FAR struct socket *psock,
|
||||||
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
||||||
#ifndef CONFIG_NET_LOCAL_STREAM
|
|
||||||
static int local_listen(FAR struct socket *psock, int backlog);
|
|
||||||
#endif
|
|
||||||
static int local_connect(FAR struct socket *psock,
|
static int local_connect(FAR struct socket *psock,
|
||||||
FAR const struct sockaddr *addr, socklen_t addrlen);
|
FAR const struct sockaddr *addr, socklen_t addrlen);
|
||||||
#ifndef CONFIG_NET_LOCAL_STREAM
|
#ifndef CONFIG_NET_LOCAL_STREAM
|
||||||
@@ -92,7 +89,11 @@ const struct sock_intf_s g_local_sockif =
|
|||||||
local_bind, /* si_bind */
|
local_bind, /* si_bind */
|
||||||
local_getsockname, /* si_getsockname */
|
local_getsockname, /* si_getsockname */
|
||||||
local_getpeername, /* si_getpeername */
|
local_getpeername, /* si_getpeername */
|
||||||
|
#ifdef CONFIG_NET_LOCAL_STREAM
|
||||||
local_listen, /* si_listen */
|
local_listen, /* si_listen */
|
||||||
|
#else
|
||||||
|
NULL, /* si_listen */
|
||||||
|
#endif
|
||||||
local_connect, /* si_connect */
|
local_connect, /* si_connect */
|
||||||
local_accept, /* si_accept */
|
local_accept, /* si_accept */
|
||||||
local_poll, /* si_poll */
|
local_poll, /* si_poll */
|
||||||
@@ -548,38 +549,6 @@ static int local_setsockopt(FAR struct socket *psock, int level, int option,
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: local_listen
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* To accept connections, a socket is first created with psock_socket(), a
|
|
||||||
* willingness to accept incoming connections and a queue limit for
|
|
||||||
* incoming connections are specified with psock_listen(), and then the
|
|
||||||
* connections are accepted with psock_accept(). For the case of local
|
|
||||||
* unix sockets, psock_listen() calls this function. The psock_listen()
|
|
||||||
* call applies only to sockets of type SOCK_STREAM or SOCK_SEQPACKET.
|
|
||||||
*
|
|
||||||
* Input Parameters:
|
|
||||||
* psock Reference to an internal, boound socket structure.
|
|
||||||
* backlog The maximum length the queue of pending connections may grow.
|
|
||||||
* If a connection request arrives with the queue full, the client
|
|
||||||
* may receive an error with an indication of ECONNREFUSED or,
|
|
||||||
* if the underlying protocol supports retransmission, the request
|
|
||||||
* may be ignored so that retries succeed.
|
|
||||||
*
|
|
||||||
* Returned Value:
|
|
||||||
* On success, zero is returned. On error, a negated errno value is
|
|
||||||
* returned. See listen() for the set of appropriate error values.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef CONFIG_NET_LOCAL_STREAM
|
|
||||||
int local_listen(FAR struct socket *psock, int backlog)
|
|
||||||
{
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: local_connect
|
* Name: local_connect
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ static int netlink_getsockname(FAR struct socket *psock,
|
|||||||
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
||||||
static int netlink_getpeername(FAR struct socket *psock,
|
static int netlink_getpeername(FAR struct socket *psock,
|
||||||
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
FAR struct sockaddr *addr, FAR socklen_t *addrlen);
|
||||||
static int netlink_listen(FAR struct socket *psock, int backlog);
|
|
||||||
static int netlink_connect(FAR struct socket *psock,
|
static int netlink_connect(FAR struct socket *psock,
|
||||||
FAR const struct sockaddr *addr, socklen_t addrlen);
|
FAR const struct sockaddr *addr, socklen_t addrlen);
|
||||||
static int netlink_accept(FAR struct socket *psock,
|
static int netlink_accept(FAR struct socket *psock,
|
||||||
@@ -82,7 +81,7 @@ const struct sock_intf_s g_netlink_sockif =
|
|||||||
netlink_bind, /* si_bind */
|
netlink_bind, /* si_bind */
|
||||||
netlink_getsockname, /* si_getsockname */
|
netlink_getsockname, /* si_getsockname */
|
||||||
netlink_getpeername, /* si_getpeername */
|
netlink_getpeername, /* si_getpeername */
|
||||||
netlink_listen, /* si_listen */
|
NULL, /* si_listen */
|
||||||
netlink_connect, /* si_connect */
|
netlink_connect, /* si_connect */
|
||||||
netlink_accept, /* si_accept */
|
netlink_accept, /* si_accept */
|
||||||
netlink_poll, /* si_poll */
|
netlink_poll, /* si_poll */
|
||||||
@@ -365,37 +364,6 @@ static int netlink_getpeername(FAR struct socket *psock,
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: netlink_listen
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* To accept connections, a socket is first created with psock_socket(), a
|
|
||||||
* willingness to accept incoming connections and a queue limit for
|
|
||||||
* incoming connections are specified with psock_listen(), and then the
|
|
||||||
* connections are accepted with psock_accept(). For the case of AFINET
|
|
||||||
* and AFINET6 sockets, psock_listen() calls this function. The
|
|
||||||
* psock_listen() call applies only to sockets of type SOCK_STREAM or
|
|
||||||
* SOCK_SEQPACKET.
|
|
||||||
*
|
|
||||||
* Input Parameters:
|
|
||||||
* psock Reference to an internal, bound socket structure.
|
|
||||||
* backlog The maximum length the queue of pending connections may grow.
|
|
||||||
* If a connection request arrives with the queue full, the client
|
|
||||||
* may receive an error with an indication of ECONNREFUSED or,
|
|
||||||
* if the underlying protocol supports retransmission, the request
|
|
||||||
* may be ignored so that retries succeed.
|
|
||||||
*
|
|
||||||
* Returned Value:
|
|
||||||
* On success, zero is returned. On error, a negated errno value is
|
|
||||||
* returned. See listen() for the set of appropriate error values.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
static int netlink_listen(FAR struct socket *psock, int backlog)
|
|
||||||
{
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: netlink_connect
|
* Name: netlink_connect
|
||||||
*
|
*
|
||||||
|
|||||||
+1
-32
@@ -52,7 +52,6 @@ static sockcaps_t pkt_sockcaps(FAR struct socket *psock);
|
|||||||
static void pkt_addref(FAR struct socket *psock);
|
static void pkt_addref(FAR struct socket *psock);
|
||||||
static int pkt_bind(FAR struct socket *psock,
|
static int pkt_bind(FAR struct socket *psock,
|
||||||
FAR const struct sockaddr *addr, socklen_t addrlen);
|
FAR const struct sockaddr *addr, socklen_t addrlen);
|
||||||
static int pkt_listen(FAR struct socket *psock, int backlog);
|
|
||||||
static int pkt_connect(FAR struct socket *psock,
|
static int pkt_connect(FAR struct socket *psock,
|
||||||
FAR const struct sockaddr *addr, socklen_t addrlen);
|
FAR const struct sockaddr *addr, socklen_t addrlen);
|
||||||
static int pkt_accept(FAR struct socket *psock,
|
static int pkt_accept(FAR struct socket *psock,
|
||||||
@@ -74,7 +73,7 @@ const struct sock_intf_s g_pkt_sockif =
|
|||||||
pkt_bind, /* si_bind */
|
pkt_bind, /* si_bind */
|
||||||
NULL, /* si_getsockname */
|
NULL, /* si_getsockname */
|
||||||
NULL, /* si_getpeername */
|
NULL, /* si_getpeername */
|
||||||
pkt_listen, /* si_listen */
|
NULL, /* si_listen */
|
||||||
pkt_connect, /* si_connect */
|
pkt_connect, /* si_connect */
|
||||||
pkt_accept, /* si_accept */
|
pkt_accept, /* si_accept */
|
||||||
pkt_poll_local, /* si_poll */
|
pkt_poll_local, /* si_poll */
|
||||||
@@ -368,36 +367,6 @@ static int pkt_bind(FAR struct socket *psock,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: pkt_listen
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* To accept connections, a socket is first created with psock_socket(), a
|
|
||||||
* willingness to accept incoming connections and a queue limit for
|
|
||||||
* incoming connections are specified with psock_listen(), and then the
|
|
||||||
* connections are accepted with psock_accept(). For the case of raw
|
|
||||||
* packet sockets, psock_listen() calls this function. The psock_listen()
|
|
||||||
* call applies only to sockets of type SOCK_STREAM or SOCK_SEQPACKET.
|
|
||||||
*
|
|
||||||
* Input Parameters:
|
|
||||||
* psock Reference to an internal, boound socket structure.
|
|
||||||
* backlog The maximum length the queue of pending connections may grow.
|
|
||||||
* If a connection request arrives with the queue full, the client
|
|
||||||
* may receive an error with an indication of ECONNREFUSED or,
|
|
||||||
* if the underlying protocol supports retransmission, the request
|
|
||||||
* may be ignored so that retries succeed.
|
|
||||||
*
|
|
||||||
* Returned Value:
|
|
||||||
* On success, zero is returned. On error, a negated errno value is
|
|
||||||
* returned. See listen() for the set of appropriate error values.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
int pkt_listen(FAR struct socket *psock, int backlog)
|
|
||||||
{
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: pkt_poll
|
* Name: pkt_poll
|
||||||
*
|
*
|
||||||
|
|||||||
+6
-1
@@ -82,7 +82,12 @@ int psock_listen(FAR struct socket *psock, int backlog)
|
|||||||
|
|
||||||
/* Let the address family's listen() method handle the operation */
|
/* Let the address family's listen() method handle the operation */
|
||||||
|
|
||||||
DEBUGASSERT(psock->s_sockif != NULL && psock->s_sockif->si_listen != NULL);
|
DEBUGASSERT(psock->s_sockif != NULL);
|
||||||
|
if (psock->s_sockif->si_listen == NULL)
|
||||||
|
{
|
||||||
|
return -EOPNOTSUPP;
|
||||||
|
}
|
||||||
|
|
||||||
ret = psock->s_sockif->si_listen(psock, backlog);
|
ret = psock->s_sockif->si_listen(psock, backlog);
|
||||||
if (ret >= 0)
|
if (ret >= 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user