提交 ef6cc096 编写于 作者: M maosiping

蓝牙网络代理

Signed-off-by: Nmaosiping <maosiping@huawei.com>
上级 40d89b67
......@@ -1437,7 +1437,7 @@ lwip_send(int s, const void *data, size_t size, int flags)
if (NETCONNTYPE_GROUP(netconn_type(sock->conn)) != NETCONN_TCP) {
#if (LWIP_UDP || LWIP_RAW)
done_socket(sock);
#if LWIP_ENABLE_DISTRIBUTED_NET
#if LWIP_ENABLE_DISTRIBUTED_NET && LWIP_USE_GET_HOST_BY_NAME_EXTERNAL
return lwip_sendto_internal(s, data, size, flags, NULL, 0);
#else
return lwip_sendto(s, data, size, flags, NULL, 0);
......@@ -1465,7 +1465,7 @@ lwip_send(int s, const void *data, size_t size, int flags)
ssize_t
lwip_sendmsg(int s, const struct msghdr *msg, int flags)
{
#if LWIP_ENABLE_DISTRIBUTED_NET
#if LWIP_ENABLE_DISTRIBUTED_NET && LWIP_USE_GET_HOST_BY_NAME_EXTERNAL && LWIP_DISTRIBUTED_NET_ENABLE_SENDMSG
if (!is_distributed_net_enabled()) {
return lwip_sendmsg_internal(s, msg, flags);
}
......@@ -1640,7 +1640,7 @@ ssize_t
lwip_sendto(int s, const void *data, size_t size, int flags,
const struct sockaddr *to, socklen_t tolen)
{
#if LWIP_ENABLE_DISTRIBUTED_NET
#if LWIP_ENABLE_DISTRIBUTED_NET && LWIP_USE_GET_HOST_BY_NAME_EXTERNAL
if (!is_distributed_net_enabled()) {
return lwip_sendto_internal(s, data, size, flags, to, tolen);
}
......
......@@ -71,6 +71,25 @@ int distributed_net_connect(int sock, const struct sockaddr *addr, socklen_t add
return 0;
}
int distributed_net_close(int sock)
{
CHECK_PARA(SOCKET_TO_INDEX(sock) >= 0 && SOCKET_TO_INDEX(sock) < NUM_SOCKETS, EBADF);
reset_distributed_net_socket(sock);
return lwip_close_internal(sock);
}
#if LWIP_USE_GET_HOST_BY_NAME_EXTERNAL
typedef union {
struct sockaddr sa;
#if LWIP_IPV6
struct sockaddr_in6 sin6;
#endif /* LWIP_IPV6 */
#if LWIP_IPV4
struct sockaddr_in sin;
#endif /* LWIP_IPV4 */
} aligned_sockaddr;
ssize_t distributed_net_sendto(int sock, const void *buf, size_t buf_len, int flags, const struct sockaddr *addr,
socklen_t addr_len)
{
......@@ -112,6 +131,7 @@ ssize_t distributed_net_sendto(int sock, const void *buf, size_t buf_len, int fl
return ret > 0 ? UDP_PAYLOAD_LEN(ret) : -1;
}
#if LWIP_DISTRIBUTED_NET_ENABLE_SENDMSG
ssize_t distributed_net_sendmsg(int sock, const struct msghdr *hdr, int flags)
{
CHECK_PARA(SOCKET_TO_INDEX(sock) >= 0 && SOCKET_TO_INDEX(sock) < NUM_SOCKETS, EBADF);
......@@ -155,25 +175,7 @@ ssize_t distributed_net_sendmsg(int sock, const struct msghdr *hdr, int flags)
ssize_t ret = udp_transmit_sendmsg(sock, hdr);
return ret > 0 ? UDP_PAYLOAD_LEN(ret) : -1;
}
int distributed_net_close(int sock)
{
CHECK_PARA(SOCKET_TO_INDEX(sock) >= 0 && SOCKET_TO_INDEX(sock) < NUM_SOCKETS, EBADF);
reset_distributed_net_socket(sock);
return lwip_close_internal(sock);
}
#if LWIP_USE_GET_HOST_BY_NAME_EXTERNAL
typedef union {
struct sockaddr sa;
#if LWIP_IPV6
struct sockaddr_in6 sin6;
#endif /* LWIP_IPV6 */
#if LWIP_IPV4
struct sockaddr_in sin;
#endif /* LWIP_IPV4 */
} aligned_sockaddr;
#endif /* LWIP_DISTRIBUTED_NET_ENABLE_SENDMSG */
ssize_t distributed_net_recvfrom(int sock, void *buf, size_t buf_len, int flags, struct sockaddr *from,
socklen_t *from_len)
......
......@@ -29,7 +29,7 @@
#include "lwip/opt.h"
#if LWIP_ENABLE_DISTRIBUTED_NET
#if LWIP_ENABLE_DISTRIBUTED_NET && LWIP_USE_GET_HOST_BY_NAME_EXTERNAL
#include "lwip/distributed_net/udp_transmit.h"
......@@ -131,4 +131,4 @@ ssize_t udp_transmit_sendmsg(int sock, const struct msghdr *hdr)
return ret;
}
#endif /* LWIP_ENABLE_DISTRIBUTED_NET */
#endif /* LWIP_ENABLE_DISTRIBUTED_NET && LWIP_USE_GET_HOST_BY_NAME_EXTERNAL */
......@@ -59,14 +59,14 @@ typedef struct tcp_connect_data {
int distributed_net_connect(int sock, const struct sockaddr *addr, socklen_t addr_len);
int distributed_net_close(int sock);
#if LWIP_USE_GET_HOST_BY_NAME_EXTERNAL
ssize_t distributed_net_sendto(int sock, const void *buf, size_t buf_len, int flags, const struct sockaddr *addr,
socklen_t addr_len);
ssize_t distributed_net_sendmsg(int sock, const struct msghdr *hdr, int flags);
int distributed_net_close(int sock);
#if LWIP_USE_GET_HOST_BY_NAME_EXTERNAL
ssize_t distributed_net_recvfrom(int sock, void *buf, size_t buf_len, int flags, struct sockaddr *from,
socklen_t *from_len);
#endif /* LWIP_USE_GET_HOST_BY_NAME_EXTERNAL */
......
......@@ -32,7 +32,7 @@
#include "lwip/opt.h"
#if LWIP_ENABLE_DISTRIBUTED_NET
#if LWIP_ENABLE_DISTRIBUTED_NET && LWIP_USE_GET_HOST_BY_NAME_EXTERNAL
#include "lwip/distributed_net/distributed_net.h"
#include "lwip/sockets.h"
......@@ -53,6 +53,6 @@ ssize_t udp_transmit_sendto(int sock, const void *buf, size_t buf_len, const str
ssize_t udp_transmit_sendmsg(int sock, const struct msghdr *hdr);
#endif /* LWIP_ENABLE_DISTRIBUTED_NET */
#endif /* LWIP_ENABLE_DISTRIBUTED_NET && LWIP_USE_GET_HOST_BY_NAME_EXTERNAL */
#endif /* LWIP_HDR_UDP_TRANSMIT_H */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册