]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/efi/include/efirng.h
unbound: Vendor import 1.19.0
[FreeBSD/FreeBSD.git] / stand / efi / include / efirng.h
1 /*-
2  * SPDX-License-Identifier: BSD-2-Clause
3  *
4  * Copyright 2006 - 2016 Unified EFI, Inc.<BR>
5  * Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved.<BR>   
6  * This program and the accompanying materials
7  * are licensed and made available under the terms and conditions of the BSD License
8  * which accompanies this distribution.  The full text of the license may be found at 
9  * http://opensource.org/licenses/bsd-license.php
10  *
11  * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13  *
14  */
15
16 #ifndef _EFIRNG_H
17 #define _EFIRNG_H
18
19 #define EFI_RNG_PROTOCOL_GUID \
20     { 0x3152bca5, 0xeade, 0x433d, {0x86, 0x2e, 0xc0, 0x1c, 0xdc, 0x29, 0x1f, 0x44} }
21
22 INTERFACE_DECL(_EFI_RNG_PROTOCOL);
23
24 typedef EFI_GUID EFI_RNG_ALGORITHM;
25
26 typedef
27 EFI_STATUS
28 (EFIAPI *EFI_RNG_GET_INFO) (
29     IN struct _EFI_RNG_PROTOCOL         *This,
30     IN  OUT UINTN                       *RNGAlgorithmListSize,
31     OUT EFI_RNG_ALGORITHM               *RNGAlgorithmList
32     );
33
34 typedef
35 EFI_STATUS
36 (EFIAPI *EFI_RNG_GET_RNG) (
37     IN struct _EFI_RNG_PROTOCOL         *This,
38     IN EFI_RNG_ALGORITHM                *RNGAlgorithm, OPTIONAL
39     IN UINTN                            RNGValueLength,
40     OUT UINT8                           *RNGValue
41     );
42
43 typedef struct _EFI_RNG_PROTOCOL {
44         EFI_RNG_GET_INFO        GetInfo;
45         EFI_RNG_GET_RNG         GetRNG;
46 } EFI_RNG_PROTOCOL;
47
48 static EFI_GUID                 rng_guid = EFI_RNG_PROTOCOL_GUID;
49
50 #endif /* _EFIRNG_H */