]> git.ozlabs.org Git - ccan/blobdiff - ccan/fdpass/fdpass.h
fdpass: new module.
[ccan] / ccan / fdpass / fdpass.h
diff --git a/ccan/fdpass/fdpass.h b/ccan/fdpass/fdpass.h
new file mode 100644 (file)
index 0000000..127b66e
--- /dev/null
@@ -0,0 +1,23 @@
+/* CC0 license (public domain) - see LICENSE file for details */
+#ifndef CCAN_FDPASS_H
+#define CCAN_FDPASS_H
+
+#include <stdbool.h>
+
+/**
+ * fdpass_send - send a file descriptor across a socket
+ * @sockout: socket to write to
+ * @fd: file descriptor to pass
+ *
+ * On failure, sets errno and returns false.
+ */
+bool fdpass_send(int sockout, int fd);
+
+/**
+ * fdpass_recv - receive a file descriptor from a socket
+ * @sockin: socket to read from
+ *
+ * On failure, returns -1 and sets errno.  Otherwise returns fd.
+ */
+int fdpass_recv(int sockin);
+#endif /* CCAN_FDPASS_H */