25 #ifndef COMMON_UTILS_FD_HPP
26 #define COMMON_UTILS_FD_HPP
30 #include <sys/types.h>
37 int open(
const std::string &path,
int flags, mode_t mode = -1);
52 int ioctl(
int fd,
unsigned long request,
void *argp);
57 int dup2(
int olfFD,
int newFD,
bool closeOnExec =
false);
67 void write(
int fd,
const void* bufferPtr,
const size_t size,
int timeoutMS = 5000);
77 void read(
int fd,
void* bufferPtr,
const size_t size,
int timeoutMS = 5000);
99 bool fdSend(
int socket,
int fd,
const unsigned int timeoutMS = 5000);
104 int fdRecv(
int socket,
const unsigned int timeoutMS = 5000);
118 #endif // COMMON_UTILS_FD_HPP
void setNonBlocking(int fd, bool nonBlocking)
Set or remove NONBLOCK on a file descriptor.
Definition: fd-utils.cpp:435
int open(const std::string &path, int flags, mode_t mode)
Open a file.
Definition: fd-utils.cpp:127
void close(int fd)
Close the file descriptor.
Definition: fd-utils.cpp:151
unsigned int getMaxFDNumber()
Definition: fd-utils.cpp:271
bool fdSend(int socket, int fd, const unsigned int timeoutMS)
Send Socket via Unix Domain socket.
Definition: fd-utils.cpp:368
void write(int fd, const void *bufferPtr, const size_t size, int timeoutMS)
Write to a file descriptor, throw on error.
Definition: fd-utils.cpp:208
int ioctl(int fd, unsigned long request, void *argp)
Operation on a special file.
Definition: fd-utils.cpp:182
int dup2(int oldFD, int newFD, bool closeOnExec)
Duplicate one file desciptor onto another.
Definition: fd-utils.cpp:193
void setCloseOnExec(int fd, bool closeOnExec)
Set or remove CLOEXEC on a file descriptor.
Definition: fd-utils.cpp:430
void shutdown(int fd)
Shut down part of a full-duplex connection.
Definition: fd-utils.cpp:169
int fdRecv(int socket, const unsigned int timeoutMS)
Receive fd via Unix Domain socket.
Definition: fd-utils.cpp:301
unsigned int getFDNumber()
Definition: fd-utils.cpp:294
void read(int fd, void *bufferPtr, const size_t size, int timeoutMS)
Read from a file descriptor, throw on error.
Definition: fd-utils.cpp:237
void setMaxFDNumber(unsigned int limit)
Set the software and hardware limit of file descriptors for this process.
Definition: fd-utils.cpp:282