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> 13typedef struct bio_st BIO; 14 15namespace 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. 24CRYPTO_EXPORT BIO* BIO_new_string(std::string* out); 25 26} // namespace crypto 27 28#endif // CRYPTO_OPENSSL_BIO_STRING_H_ 29 30