SNode.C
Loading...
Searching...
No Matches
socket.cpp
Go to the documentation of this file.
1/*
2 * SNode.C - a slim toolkit for network communication
3 * Copyright (C) Volker Christian <me@vchrist.at>
4 * 2020, 2021, 2022, 2023, 2024, 2025
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License as published
8 * by the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef DOXYGEN_SHOULD_SKIP_THIS
21
22#include "core/system/socket.h"
23
24#include <cerrno>
25
26#endif /* DOXYGEN_SHOULD_SKIP_THIS */
27
28namespace core::system {
29
30 int socket(int domain, int type, int protocol) {
31 errno = 0;
32 return ::socket(domain, type, protocol);
33 }
34
35 int bind(int sockfd, const sockaddr* addr, socklen_t addrlen) {
36 errno = 0;
37 return ::bind(sockfd, addr, addrlen);
38 }
39
40 int listen(int sockfd, int backlog) {
41 errno = 0;
42 return ::listen(sockfd, backlog);
43 }
44
45 int accept(int sockfd, sockaddr* addr, socklen_t* addrlen) {
46 errno = 0;
47 return ::accept(sockfd, addr, addrlen);
48 }
49
50 int accept4(int sockfd, sockaddr* addr, socklen_t* addrlen, int flags) {
51 errno = 0;
52 return ::accept4(sockfd, addr, addrlen, flags);
53 }
54 int connect(int sockfd, const sockaddr* addr, socklen_t addrlen) {
55 errno = 0;
56 return ::connect(sockfd, addr, addrlen);
57 }
58
59 int getsockname(int sockfd, sockaddr* addr, socklen_t* addrlen) {
60 errno = 0;
61 return ::getsockname(sockfd, addr, addrlen);
62 }
63
64 int getpeername(int sockfd, sockaddr* addr, socklen_t* addrlen) {
65 errno = 0;
66 return ::getpeername(sockfd, addr, addrlen);
67 }
68
69 ssize_t recv(int sockfd, void* buf, std::size_t len, int flags) {
70 errno = 0;
71 return ::recv(sockfd, buf, len, flags);
72 }
73
74 ssize_t send(int sockfd, const void* buf, std::size_t len, int flags) {
75 errno = 0;
76 return ::send(sockfd, buf, len, flags);
77 }
78
79 int getsockopt(int sockfd, int level, int optname, void* optval, socklen_t* optlen) {
80 errno = 0;
81 return ::getsockopt(sockfd, level, optname, optval, optlen);
82 }
83
84 int setsockopt(int sockfd, int level, int optname, const void* optval, socklen_t optlen) {
85 errno = 0;
86 return ::setsockopt(sockfd, level, optname, optval, optlen);
87 }
88
89 int shutdown(int sockfd, int how) {
90 errno = 0;
91 return ::shutdown(sockfd, how);
92 }
93
94} // namespace core::system
int shutdown(int sockfd, int how)
Definition socket.cpp:89
int getsockname(int sockfd, sockaddr *addr, socklen_t *addrlen)
Definition socket.cpp:59
int connect(int sockfd, const sockaddr *addr, socklen_t addrlen)
Definition socket.cpp:54
ssize_t recv(int sockfd, void *buf, std::size_t len, int flags)
Definition socket.cpp:69
int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen)
Definition socket.cpp:79
int socket(int domain, int type, int protocol)
Definition socket.cpp:30
int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen)
Definition socket.cpp:84
int getpeername(int sockfd, sockaddr *addr, socklen_t *addrlen)
Definition socket.cpp:64
int bind(int sockfd, const sockaddr *addr, socklen_t addrlen)
Definition socket.cpp:35
int accept(int sockfd, sockaddr *addr, socklen_t *addrlen)
Definition socket.cpp:45
int listen(int sockfd, int backlog)
Definition socket.cpp:40
int accept4(int sockfd, sockaddr *addr, socklen_t *addrlen, int flags)
Definition socket.cpp:50
ssize_t send(int sockfd, const void *buf, std::size_t len, int flags)
Definition socket.cpp:74