1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CRYPTO_OPENSSL_BIO_STRING_H_ 6 #define CRYPTO_OPENSSL_BIO_STRING_H_ 7 8 #include <string> 9 10 #include "crypto/crypto_export.h" 11 12 // From <openssl/bio.h> 13 typedef struct bio_st BIO; 14 15 namespace crypto { 16 17 // Creates a new BIO that can be used with OpenSSL's various output functions, 18 // and which will write all output directly into |out|. This is primarily 19 // intended as a utility to reduce the amount of copying and separate 20 // allocations when performing extensive string modifications or streaming 21 // within OpenSSL. 22 // 23 // Note: |out| must remain valid for the duration of the BIO. 24 CRYPTO_EXPORT BIO* BIO_new_string(std::string* out); 25 26 } // namespace crypto 27 28 #endif // CRYPTO_OPENSSL_BIO_STRING_H_ 29 30