Ticket #12737: fdpass.h

File fdpass.h, 637 bytes (added by korli, 8 years ago)
Line 
1#ifndef FDPASS_H
2#define FDPASS_H
3
4/* Send data and send_fd (unless it's -1) via sendmsg(). Returns number of
5 bytes sent, or -1 on error. If at least 1 byte was sent, the send_fd was
6 also sent. */
7ssize_t fd_send(int handle, int send_fd, const void *data, size_t size);
8
9/* Receive data and fd via recvmsg(). Returns number of bytes read, 0 on
10 disconnection, or -1 on error. If at least 1 byte was read, the fd is also
11 returned (if it had been sent). If there was no fd received, it's set to
12 -1. See test-istream-unix.c for different test cases. */
13ssize_t fd_read(int handle, void *data, size_t size, int *fd_r);
14
15#endif