SSL_GET_FD(3) | Library Functions Manual | SSL_GET_FD(3)

# NAME

`SSL_get_fd`, `SSL_get_rfd`, `SSL_get_wfd` — get file descriptor linked to an SSL object

# SYNOPSIS

library “libssl” libcrypto
`#include <openssl/ssl.h>`

int
`SSL_get_fd`(const SSL *ssl);

int
`SSL_get_rfd`(const SSL *ssl);

int
`SSL_get_wfd`(const SSL *ssl);

# DESCRIPTION

`SSL_get_fd`() returns the file descriptor which is linked to ssl. `SSL_get_rfd`() and `SSL_get_wfd`() return the file descriptors for the read or the write channel, which can be different. If the read and the write channel are different, `SSL_get_fd`() will return the file descriptor of the read channel.

# RETURN VALUES

The following return values can occur:

−1
  The operation failed, because the underlying BIO is not of the correct type (suitable for file descriptors).
≥0
  The file descriptor linked to ssl.

# SEE ALSO

BIO_new(3), ssl(3), SSL_set_fd(3)

# HISTORY

`SSL_get_fd`() appeared in SSLeay 0.4 or earlier and has been available since OpenBSD 2.4.

`SSL_get_rfd`() and `SSL_get_wfd`() first appeared in OpenSSL 0.9.6c and have been available since OpenBSD 3.2.

June 8, 2025 | Debian