15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// found in the LICENSE file. 45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#ifndef PPAPI_CPP_DEV_CRYPTO_DEV_H_ 65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PPAPI_CPP_DEV_CRYPTO_DEV_H_ 75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#include "ppapi/c/pp_stdint.h" 95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/// @file 115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/// This file defines APIs related to cryptography. 125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)namespace pp { 145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/// APIs related to cryptography. 165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)class Crypto_Dev { 175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) public: 185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) Crypto_Dev() {} 195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) /// A function that fills the buffer with random bytes. This may be slow, so 215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) /// avoid getting more bytes than needed. 225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) /// 235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) /// @param[out] buffer The buffer to receive the random bytes. 245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) /// @param[in] num_bytes A number of random bytes to produce. 255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) /// @return True on success, false on failure. 265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool GetRandomBytes(char* buffer, uint32_t num_bytes); 2702772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch}; 285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 29c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace pp 305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#endif // PPAPI_CPP_DEV_CRYPTO_DEV_H_ 325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)