Skip to content

Commit 151295f

Browse files
rlubosdanieldegrasse
authored andcommitted
net: sockets: Move socket vtable definition
Offloaded socket implementations need to create the socket operations vtable, therefore need access to struct socket_op_vtable. So far this has been defined in a private header, so implementations needed to add the header location to the include path in CMake. Therefore, move struct socket_op_vtable definition to the internal part of the public socket header, so it's no longer needed to include a private header. This is also more consistent with the rest of the public header content, as for example macros needed to register a socket implementation are already there. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
1 parent fd1f439 commit 151295f

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

include/zephyr/net/socket.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,6 +1217,30 @@ struct net_socket_register {
12171217
#define NET_SOCKET_OFFLOAD_REGISTER(socket_name, prio, _family, _is_supported, _handler) \
12181218
_NET_SOCKET_REGISTER(socket_name, prio, _family, _is_supported, _handler, true)
12191219

1220+
struct socket_op_vtable {
1221+
struct fd_op_vtable fd_vtable;
1222+
int (*shutdown)(void *obj, int how);
1223+
int (*bind)(void *obj, const struct sockaddr *addr, socklen_t addrlen);
1224+
int (*connect)(void *obj, const struct sockaddr *addr,
1225+
socklen_t addrlen);
1226+
int (*listen)(void *obj, int backlog);
1227+
int (*accept)(void *obj, struct sockaddr *addr, socklen_t *addrlen);
1228+
ssize_t (*sendto)(void *obj, const void *buf, size_t len, int flags,
1229+
const struct sockaddr *dest_addr, socklen_t addrlen);
1230+
ssize_t (*recvfrom)(void *obj, void *buf, size_t max_len, int flags,
1231+
struct sockaddr *src_addr, socklen_t *addrlen);
1232+
int (*getsockopt)(void *obj, int level, int optname,
1233+
void *optval, socklen_t *optlen);
1234+
int (*setsockopt)(void *obj, int level, int optname,
1235+
const void *optval, socklen_t optlen);
1236+
ssize_t (*sendmsg)(void *obj, const struct msghdr *msg, int flags);
1237+
ssize_t (*recvmsg)(void *obj, struct msghdr *msg, int flags);
1238+
int (*getpeername)(void *obj, struct sockaddr *addr,
1239+
socklen_t *addrlen);
1240+
int (*getsockname)(void *obj, struct sockaddr *addr,
1241+
socklen_t *addrlen);
1242+
};
1243+
12201244
/** @endcond */
12211245

12221246
#ifdef __cplusplus

subsys/net/lib/sockets/sockets_internal.h

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -53,30 +53,6 @@ static inline bool net_socket_is_tls(void *obj)
5353
#define sock_is_error(ctx) sock_get_flag(ctx, SOCK_ERROR)
5454
#define sock_set_error(ctx) sock_set_flag(ctx, SOCK_ERROR, SOCK_ERROR)
5555

56-
struct socket_op_vtable {
57-
struct fd_op_vtable fd_vtable;
58-
int (*shutdown)(void *obj, int how);
59-
int (*bind)(void *obj, const struct sockaddr *addr, socklen_t addrlen);
60-
int (*connect)(void *obj, const struct sockaddr *addr,
61-
socklen_t addrlen);
62-
int (*listen)(void *obj, int backlog);
63-
int (*accept)(void *obj, struct sockaddr *addr, socklen_t *addrlen);
64-
ssize_t (*sendto)(void *obj, const void *buf, size_t len, int flags,
65-
const struct sockaddr *dest_addr, socklen_t addrlen);
66-
ssize_t (*recvfrom)(void *obj, void *buf, size_t max_len, int flags,
67-
struct sockaddr *src_addr, socklen_t *addrlen);
68-
int (*getsockopt)(void *obj, int level, int optname,
69-
void *optval, socklen_t *optlen);
70-
int (*setsockopt)(void *obj, int level, int optname,
71-
const void *optval, socklen_t optlen);
72-
ssize_t (*sendmsg)(void *obj, const struct msghdr *msg, int flags);
73-
ssize_t (*recvmsg)(void *obj, struct msghdr *msg, int flags);
74-
int (*getpeername)(void *obj, struct sockaddr *addr,
75-
socklen_t *addrlen);
76-
int (*getsockname)(void *obj, struct sockaddr *addr,
77-
socklen_t *addrlen);
78-
};
79-
8056
size_t msghdr_non_empty_iov_count(const struct msghdr *msg);
8157

8258
#if defined(CONFIG_NET_SOCKETS_OBJ_CORE)

0 commit comments

Comments
 (0)