This patch add function EfiTimeToWday() which returns day of the week. It is needed by our upcoming patches in edk2-platforms. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Vabhav Sharma <vabhav.sharma@nxp.com> Signed-off-by: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
*
 | 
						|
*  Copyright (c) 2016, Hisilicon Limited. All rights reserved.
 | 
						|
*  Copyright (c) 2016, Linaro Limited. 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 _TIME_BASE_LIB_H_
 | 
						|
#define _TIME_BASE_LIB_H_
 | 
						|
 | 
						|
#include <Uefi/UefiBaseType.h>
 | 
						|
 | 
						|
// Define EPOCH (1970-JANUARY-01) in the Julian Date representation
 | 
						|
#define EPOCH_JULIAN_DATE                               2440588
 | 
						|
 | 
						|
// Seconds per unit
 | 
						|
#define SEC_PER_MIN                                     ((UINTN)    60)
 | 
						|
#define SEC_PER_HOUR                                    ((UINTN)  3600)
 | 
						|
#define SEC_PER_DAY                                     ((UINTN) 86400)
 | 
						|
#define SEC_PER_MONTH                                   ((UINTN)  2,592,000)
 | 
						|
#define SEC_PER_YEAR                                    ((UINTN) 31,536,000)
 | 
						|
 | 
						|
BOOLEAN
 | 
						|
EFIAPI
 | 
						|
IsLeapYear (
 | 
						|
  IN  EFI_TIME  *Time
 | 
						|
  );
 | 
						|
 | 
						|
BOOLEAN
 | 
						|
EFIAPI
 | 
						|
IsDayValid (
 | 
						|
  IN  EFI_TIME  *Time
 | 
						|
  );
 | 
						|
 | 
						|
BOOLEAN
 | 
						|
EFIAPI
 | 
						|
IsTimeValid (
 | 
						|
  IN  EFI_TIME  *Time
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Converts Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC) to EFI_TIME
 | 
						|
 **/
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
EpochToEfiTime (
 | 
						|
  IN  UINTN     EpochSeconds,
 | 
						|
  OUT EFI_TIME  *Time
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC)
 | 
						|
 **/
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
EfiTimeToEpoch (
 | 
						|
  IN  EFI_TIME  *Time
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  returns Day of the week [0-6] 0=Sunday
 | 
						|
 **/
 | 
						|
UINTN
 | 
						|
EfiTimeToWday (
 | 
						|
  IN  EFI_TIME  *Time
 | 
						|
  );
 | 
						|
 | 
						|
#endif
 |