1 /** @file 2 3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 4 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 16 #ifndef __RUNTIME_SERVICES_LIB_H__ 17 #define __RUNTIME_SERVICES_LIB_H__ 18 19 VOID 20 LibMtcInitialize (VOID); 21 22 VOID 23 LibMtcVirtualAddressChangeEvent (VOID); 24 25 EFI_STATUS 26 EFIAPI 27 LibMtcGetNextHighMonotonicCount ( 28 OUT UINT32 *HighCount 29 ); 30 31 EFI_STATUS 32 LibMtcGetNextMonotonicCount ( 33 OUT UINT64 *Count 34 ); 35 36 37 38 VOID 39 LibVariableInitialize (VOID); 40 41 VOID 42 LibVariableVirtualAddressChangeEvent (VOID); 43 44 EFI_STATUS 45 LibGetVariable ( 46 IN CHAR16 *VariableName, 47 IN EFI_GUID *VendorGuid, 48 OUT UINT32 *Attributes OPTIONAL, 49 IN OUT UINTN *DataSize, 50 OUT VOID *Data 51 ); 52 53 EFI_STATUS 54 LibGetNextVariableName ( 55 IN OUT UINTN *VariableNameSize, 56 IN OUT CHAR16 *VariableName, 57 IN OUT EFI_GUID *VendorGuid 58 ); 59 60 EFI_STATUS 61 LibSetVariable ( 62 IN CHAR16 *VariableName, 63 IN EFI_GUID *VendorGuid, 64 IN UINT32 Attributes, 65 IN UINTN DataSize, 66 IN VOID *Data 67 ); 68 69 EFI_STATUS 70 LibQueryVariableInfo ( 71 IN UINT32 Attributes, 72 OUT UINT64 *MaximumVariableStorageSize, 73 OUT UINT64 *RemainingVariableStorageSize, 74 OUT UINT64 *MaximumVariableSize 75 ); 76 77 78 79 VOID 80 LibResetInitializeReset (VOID); 81 82 VOID 83 LibResetVirtualAddressChangeEvent (VOID); 84 85 VOID 86 LibResetSystem ( 87 IN EFI_RESET_TYPE ResetType, 88 IN EFI_STATUS ResetStatus, 89 IN UINTN DataSize, 90 IN CHAR16 *ResetData OPTIONAL 91 ); 92 93 94 VOID 95 LibCapsuleInitialize (VOID); 96 97 VOID 98 LibCapsuleVirtualAddressChangeEvent (VOID); 99 100 EFI_STATUS 101 LibUpdateCapsule ( 102 IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray, 103 IN UINTN CapsuleCount, 104 IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL 105 ); 106 107 EFI_STATUS 108 QueryCapsuleCapabilities ( 109 IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray, 110 IN UINTN CapsuleCount, 111 OUT UINT64 *MaxiumCapsuleSize, 112 OUT EFI_RESET_TYPE *ResetType 113 ); 114 115 116 117 VOID 118 LibRtcInitialize (VOID); 119 120 VOID 121 LibRtcVirtualAddressChangeEvent (VOID); 122 123 EFI_STATUS 124 LibGetTime ( 125 OUT EFI_TIME *Time, 126 OUT EFI_TIME_CAPABILITIES *Capabilities 127 ); 128 129 EFI_STATUS 130 LibSetTime ( 131 IN EFI_TIME *Time 132 ); 133 134 EFI_STATUS 135 LibGetWakeupTime ( 136 OUT BOOLEAN *Enabled, 137 OUT BOOLEAN *Pending, 138 OUT EFI_TIME *Time 139 ); 140 141 EFI_STATUS 142 LibSetWakeupTime ( 143 IN BOOLEAN Enabled, 144 OUT EFI_TIME *Time 145 ); 146 147 148 VOID 149 LibReportStatusCodeInitialize (VOID); 150 151 VOID 152 LibReportStatusCodeVirtualAddressChangeEvent (VOID); 153 154 EFI_STATUS 155 LibReportStatusCode ( 156 IN EFI_STATUS_CODE_TYPE CodeType, 157 IN EFI_STATUS_CODE_VALUE Value, 158 IN UINT32 Instance, 159 IN EFI_GUID *CallerId, 160 IN EFI_STATUS_CODE_DATA *Data OPTIONAL 161 ); 162 163 164 #endif 165 166