BIO_s_file (3)
Leading comments
Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) Standard preamble: ========================================================================
NAME
BIO_s_file, BIO_new_file, BIO_new_fp, BIO_set_fp, BIO_get_fp, BIO_read_filename, BIO_write_filename, BIO_append_filename, BIO_rw_filename - FILE bioSYNOPSIS
#include <openssl/bio.h> BIO_METHOD * BIO_s_file(void); BIO *BIO_new_file(const char *filename, const char *mode); BIO *BIO_new_fp(FILE *stream, int flags); BIO_set_fp(BIO *b,FILE *fp, int flags); BIO_get_fp(BIO *b,FILE **fpp); int BIO_read_filename(BIO *b, char *name) int BIO_write_filename(BIO *b, char *name) int BIO_append_filename(BIO *b, char *name) int BIO_rw_filename(BIO *b, char *name)
DESCRIPTION
BIO_s_file() returns theCalls to BIO_read() and BIO_write() read and write data to the underlying stream. BIO_gets() and BIO_puts() are supported on file BIOs.
BIO_flush() on a file
BIO_reset() attempts to change the file pointer to the start of file using fseek(stream, 0, 0).
BIO_seek() sets the file pointer to position ofs from start of file using fseek(stream, ofs, 0).
BIO_eof() calls feof().
Setting the
BIO_new_file() creates a new file
BIO_new_fp() creates a file
BIO_set_fp() set the fp of a file
BIO_get_fp() retrieves the fp of a file
BIO_seek() is a macro that sets the position pointer to offset bytes from the start of file.
BIO_tell() returns the value of the position pointer.
BIO_read_filename(), BIO_write_filename(), BIO_append_filename() and BIO_rw_filename() set the file
NOTES
When wrapping stdout, stdin or stderr the underlying stream should not normally be closed so theBecause the file
On Windows BIO_new_files reserves for the filename argument to be
EXAMPLES
File
BIO *bio_out; bio_out = BIO_new_fp(stdout, BIO_NOCLOSE); BIO_printf(bio_out, "Hello World\n");
Alternative technique:
BIO *bio_out; bio_out = BIO_new(BIO_s_file()); if(bio_out == NULL) /* Error ... */ if(!BIO_set_fp(bio_out, stdout, BIO_NOCLOSE)) /* Error ... */ BIO_printf(bio_out, "Hello World\n");
Write to a file:
BIO *out; out = BIO_new_file("filename.txt", "w"); if(!out) /* Error occurred */ BIO_printf(out, "Hello World\n"); BIO_free(out);
Alternative technique:
BIO *out; out = BIO_new(BIO_s_file()); if(out == NULL) /* Error ... */ if(!BIO_write_filename(out, "filename.txt")) /* Error ... */ BIO_printf(out, "Hello World\n"); BIO_free(out);
RETURN VALUES
BIO_s_file() returns the fileBIO_new_file() and BIO_new_fp() return a file
BIO_set_fp() and BIO_get_fp() return 1 for success or 0 for failure (although the current implementation never return 0).
BIO_seek() returns the same value as the underlying fseek() function: 0 for success or -1 for failure.
BIO_tell() returns the current file position.
BIO_read_filename(), BIO_write_filename(), BIO_append_filename() and BIO_rw_filename() return 1 for success or 0 for failure.