// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CRYPTO_OPENSSL_BIO_STRING_H_ #define CRYPTO_OPENSSL_BIO_STRING_H_ #include <string> #include "crypto/crypto_export.h" // From <openssl/bio.h> typedef struct bio_st BIO; namespace crypto { // Creates a new BIO that can be used with OpenSSL's various output functions, // and which will write all output directly into |out|. This is primarily // intended as a utility to reduce the amount of copying and separate // allocations when performing extensive string modifications or streaming // within OpenSSL. // // Note: |out| must remain valid for the duration of the BIO. CRYPTO_EXPORT BIO* BIO_new_string(std::string* out); } // namespace crypto #endif // CRYPTO_OPENSSL_BIO_STRING_H_