Go to the documentation of this file.
51 #include <sys/types.h>
58 #include <arpa/inet.h>
62 #include <netinet/in.h>
63 #include <netinet/tcp.h>
71 #define getpid _getpid
72 #define ROS_INVALID_SOCKET INVALID_SOCKET
73 #define ROS_SOCKETS_SHUT_RDWR SD_BOTH
74 #define ROS_SOCKETS_ASYNCHRONOUS_CONNECT_RETURN WSAEWOULDBLOCK
76 #define POLLRDNORM 0x0100
79 #define POLLRDBAND 0x0200
82 #define POLLIN (POLLRDNORM | POLLRDBAND)
85 #define POLLPRI 0x0400
89 #define POLLWRNORM 0x0010
92 #define POLLOUT (POLLWRNORM)
95 #define POLLWRBAND 0x0020
98 #define POLLERR 0x0001
101 #define POLLHUP 0x0002
104 #define POLLNVAL 0x0004
107 #define ROS_SOCKETS_SHUT_RDWR SHUT_RDWR
108 #define ROS_INVALID_SOCKET ((int) -1)
109 #define ROS_SOCKETS_ASYNCHRONOUS_CONNECT_RETURN EINPROGRESS
132 typedef unsigned long int nfds_t;
164 #ifdef WIN32 // use a socket pair
167 #else // use a socket pair on mingw or pipe pair on linux, either way, close works
168 ::close(signal_pair[0]);
169 ::close(signal_pair[1]);
180 return ::send(signal, buffer, nbyte, 0);
185 return write(signal, buffer, nbyte);
197 return ::recv(signal, buffer, nbyte, 0);
202 return read(signal, buffer, nbyte);
struct pollfd socket_pollfd
ROSCPP_DECL int close_socket(socket_fd_t &socket)
ROSCPP_DECL int last_socket_error()
ROSCPP_DECL int poll_sockets(socket_pollfd *fds, nfds_t nfds, int timeout)
ROSCPP_DECL bool last_socket_error_is_would_block()
ROSCPP_DECL int set_non_blocking(socket_fd_t &socket)
ssize_t read_signal(const signal_fd_t &signal, void *buffer, const size_t &nbyte)
const ROSCPP_DECL char * last_socket_error_string()
ROSCPP_DECL int create_signal_pair(signal_fd_t signal_pair[2])
ssize_t write_signal(const signal_fd_t &signal, const void *buffer, const size_t &nbyte)
T read(const std::string &str)
General template which is unimplemented; implemented specializations follow below.
struct pollfd socket_pollfd
void close_signal_pair(signal_fd_t signal_pair[2])
sick_scan_xd
Author(s): Michael Lehning
, Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:08