BIO_s_fd() returns the file descriptor BIO method. This is a wrapper round the platforms file descriptor routines such as read() and write().BIO_read() and BIO_write() read or write the underlying descriptor. BIO_puts() is supported but BIO_gets() is not.
If the close flag is set then then close() is called on the underlying file descriptor when the BIO is freed.
BIO_reset() attempts to change the file pointer to the start of file using lseek(fd, 0, 0).
BIO_seek() sets the file pointer to position ofs from start of file using lseek(fd, ofs, 0).
BIO_tell() returns the current file position by calling lseek(fd, 0, 1).
BIO_set_fd() sets the file descriptor of BIO b to fd and the close flag to c.
BIO_get_fd() places the file descriptor in c if it is not NULL, it also returns the file descriptor. If c is not NULL it should be of type (int *).
BIO_new_fd() returns a file descriptor BIO using fd and close_flag.