*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> BIO_f_base64 (3)              



NAME    [Toc]    [Back]

       BIO_f_base64 - BIO filter for base64

SYNOPSIS    [Toc]    [Back]

       #include <openssl/bio.h> #include <openssl/evp.h>

       BIO_METHOD *   BIO_f_base64(
               void );

DESCRIPTION    [Toc]    [Back]

       The BIO_f_base64() function returns the base64 BIO method.
       This is a filter BIO that base64 encodes any data  written
       through it and decodes any data read through it.

       Base64  BIOs  do  not support the BIO_gets() or BIO_puts()

       The BIO_flush() function on a base64  BIO  that  is  being
       written  through is used to signal that no more data is to
       be encoded.  This is used to flush the final block through
       the BIO.

       The   BIO_FLAGS_BASE64_NO_NL   option   can  be  set  with
       BIO_set_flags() to encode the data  all  on  one  line  or
       expect the data to be all on one line.

NOTES    [Toc]    [Back]

       Because  of  the  format of base64 encoding the end of the
       encoded block cannot always be reliably determined.

RESTRICTIONS    [Toc]    [Back]

       The ambiguity of EOF in  base64  encoded  data  can  cause
       additional  data  following the base64 encoded block to be

       There should be some way of specifying a test that the BIO
       can perform to reliably determine EOF (for example, a MIME

RETURN VALUES    [Toc]    [Back]

       The BIO_f_base64() function returns the base64 BIO method.

EXAMPLES    [Toc]    [Back]

       Base64  encode  the  string  "Hello World\n" and write the
       result to standard output:
        BIO *bio, *b64;
        char message[] = "Hello World \n";

        b64 = BIO_new(BIO_f_base64());
        bio = BIO_new_fp(stdout, BIO_NOCLOSE);
        bio = BIO_push(b64, bio);
        BIO_write(bio, message, strlen(message));


       Read Base64 encoded data from standard input and write the
       decoded data to standard output:
        BIO *bio, *b64, bio_out;
        char inbuf[512];
        int inlen;
        char message[] = "Hello World \n";

        b64 = BIO_new(BIO_f_base64());
        bio = BIO_new_fp(stdin, BIO_NOCLOSE);
        bio_out = BIO_new_fp(stdout, BIO_NOCLOSE);
        bio = BIO_push(b64, bio);
        while((inlen  =  BIO_read(bio, inbuf, strlen(message))) >
       0)      BIO_write(bio_out, inbuf, inlen);


SEE ALSO    [Toc]    [Back]


[ Back ]
 Similar pages
Name OS Title
BIO_f_base64 NetBSD base64 BIO filter
ipfstat FreeBSD reports on packet filter statistics and filter list
bstream IRIX many buffered filter
BIO_f_null NetBSD null filter
BIO_f_cipher NetBSD cipher BIO filter
BIO_f_cipher Tru64 Cipher BIO filter
BIO_f_null Tru64 Null filter
BIO_get_cipher_status Tru64 Cipher BIO filter
mknetid OpenBSD a YP filter program
BIO_get_cipher_ctx Tru64 Cipher BIO filter
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service