1 /*
2  * Copyright 2015 The Chromium OS Authors. All rights reserved.
3  * Use of this source code is governed by a BSD-style license that can be
4  * found in the LICENSE file.
5  */
6 
7 #ifndef __TPM2_CPRIRNG_FP_H
8 #define __TPM2_CPRIRNG_FP_H
9 
10 LIB_EXPORT CRYPT_RESULT
11 _cpri__DrbgGetPutState(GET_PUT direction, int bufferSize, BYTE *buffer);
12 LIB_EXPORT UINT16 _cpri__GenerateRandom(INT32 randomSize, BYTE *buffer);
13 LIB_EXPORT UINT16 _cpri__GenerateSeededRandom(
14     INT32 randomSize,    //   IN: the size of the request
15     BYTE *random,        //   OUT: receives the data
16     TPM_ALG_ID hashAlg,  //   IN: used by KDF version but not here
17     TPM2B *seed,         //   IN: the seed value
18     const char *label,   //   IN: a label string (optional)
19     TPM2B *partyU,       //   IN: other data (oprtional)
20     TPM2B *partyV        //   IN: still more (optional)
21     );
22 LIB_EXPORT CRYPT_RESULT _cpri__StirRandom(INT32 entropySize, BYTE *entropy);
23 LIB_EXPORT BOOL _cpri__RngStartup(void);
24 
25 #endif  // __TPM2_CPRIRNG_FP_H
26