X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FMetronome%2FMetronome.h;fp=MdeModulePkg%2FUniversal%2FMetronome%2FMetronome.h;h=f199f5329a4fef265682a2a21845543b1fb008fd;hb=92733d4590723fbd20649844d2b89455399f9876;hp=0000000000000000000000000000000000000000;hpb=b3764698fa1aeed229e82abdddea18c9c3bb1eb4;p=mirror_edk2.git diff --git a/MdeModulePkg/Universal/Metronome/Metronome.h b/MdeModulePkg/Universal/Metronome/Metronome.h new file mode 100644 index 0000000000..f199f5329a --- /dev/null +++ b/MdeModulePkg/Universal/Metronome/Metronome.h @@ -0,0 +1,56 @@ +/** @file + Include file of Metronome driver. + +Copyright (c) 2008, Intel Corporation.
+All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#ifndef _METRONOME_H_ +#define _METRONOME_H_ + +#include +#include +#include +#include +#include + +/** + Waits for the specified number of ticks. + + This function implements EFI_METRONOME_ARCH_PROTOCOL.WaitForTick(). + The WaitForTick() function waits for the number of ticks specified by + TickNumber from a known time source in the platform. If TickNumber of + ticks are detected, then EFI_SUCCESS is returned. The actual time passed + between entry of this function and the first tick is between 0 and + TickPeriod 100 nS units. If you want to guarantee that at least TickPeriod + time has elapsed, wait for two ticks. This function waits for a hardware + event to determine when a tick occurs. It is possible for interrupt + processing, or exception processing to interrupt the execution of the + WaitForTick() function. Depending on the hardware source for the ticks, it + is possible for a tick to be missed. This function cannot guarantee that + ticks will not be missed. If a timeout occurs waiting for the specified + number of ticks, then EFI_TIMEOUT is returned. + + @param This The EFI_METRONOME_ARCH_PROTOCOL instance. + @param TickNumber Number of ticks to wait. + + @retval EFI_SUCCESS The wait for the number of ticks specified by TickNumber + succeeded. + @retval EFI_TIMEOUT A timeout occurred waiting for the specified number of ticks. + +**/ +EFI_STATUS +EFIAPI +WaitForTick ( + IN EFI_METRONOME_ARCH_PROTOCOL *This, + IN UINT32 TickNumber + ); + +#endif