ladybird/Base/usr/share/man/man2/sendfd.md
kleines Filmröllchen 98c0c5e9e6 Help+Base: Add help://man URLs for links between man pages
The URLs of the form `help://man/<section>/<page>` link to another help
page inside the help application. All previous relative page links are
replaced by this new form. This doesn't change any behavior but it looks
much nicer :^)

Note that man doesn't handle these new links, but the previous relative
links didn't work either.
2022-01-11 00:24:57 +01:00

1.1 KiB

Name

sendfd - send a file descriptor to a local socket peer

Synopsis

#include <sys/socket.h>

int sendfd(int sockfd, int fd);

Description

Send an open file descriptor to a local socket peer connected via sockfd. This is a non-blocking call that will fail if there are too many file descriptors already waiting to be received by the peer.

File descriptors are sent out-of-band and do not affect the regular data streams.

Return value

If a file descriptor is successfully sent, sendfd() returns 0. Otherwise, -1 is returned and errno is set to indicate the error.

Errors

  • EBADF: sockfd or fd is not an open file descriptor.
  • ENOTSOCK: sockfd does not refer to a socket.
  • EAFNOSUPPORT: sockfd does not refer to a local domain socket.
  • ENOTCONN: sockfd refers to a socket which is not connected.
  • EINVAL: sockfd does not refer to a connected or accepted socket.
  • EBUSY: There are too many file descriptors already waiting to be received by the peer.

History

sendfd() was first introduced in Plan 9 from User Space.

See also