git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1025 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			102 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*++
 | 
						|
 | 
						|
Copyright (c)  2004-2006 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.
 | 
						|
 | 
						|
 | 
						|
Module Name:
 | 
						|
 | 
						|
  PrintLibInternal.h
 | 
						|
 | 
						|
Abstract:
 | 
						|
 | 
						|
  Print Library.
 | 
						|
 | 
						|
--*/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
//
 | 
						|
// Print primitives
 | 
						|
//
 | 
						|
//#define LEFT_JUSTIFY      0x01
 | 
						|
#define PREFIX_SIGN       0x02
 | 
						|
#define PREFIX_BLANK      0x04
 | 
						|
//#define COMMA_TYPE        0x08
 | 
						|
#define LONG_TYPE         0x10
 | 
						|
//#define PREFIX_ZERO       0x20
 | 
						|
#define OUTPUT_UNICODE    0x40
 | 
						|
#define RADIX_HEX         0x80
 | 
						|
#define FORMAT_UNICODE    0x100
 | 
						|
#define PAD_TO_WIDTH      0x200
 | 
						|
#define ARGUMENT_UNICODE  0x400
 | 
						|
#define PRECISION         0x800
 | 
						|
#define ARGUMENT_REVERSED 0x1000
 | 
						|
 | 
						|
///
 | 
						|
/// Define the maximum number of characters that are required to encode
 | 
						|
/// a decimal, hexidecimal, GUID, or TIME value with a Nll terminator.
 | 
						|
///   Maximum Length Decimal String     = 28    "-9,223,372,036,854,775,808"
 | 
						|
///   Maximum Length Hexidecimal String = 17    "FFFFFFFFFFFFFFFF"
 | 
						|
///   Maximum Length GUID               = 37    "00000000-0000-0000-0000-000000000000"
 | 
						|
///   Maximum Length TIME               = 18    "12/12/2006  12:12"
 | 
						|
///
 | 
						|
#define MAXIMUM_VALUE_CHARACTERS  38
 | 
						|
 | 
						|
//
 | 
						|
//
 | 
						|
//
 | 
						|
typedef struct {
 | 
						|
  UINT16  Year;
 | 
						|
  UINT8   Month;
 | 
						|
  UINT8   Day;
 | 
						|
  UINT8   Hour;
 | 
						|
  UINT8   Minute;
 | 
						|
  UINT8   Second;
 | 
						|
  UINT8   Pad1;
 | 
						|
  UINT32  Nanosecond;
 | 
						|
  INT16   TimeZone;
 | 
						|
  UINT8   Daylight;
 | 
						|
  UINT8   Pad2;
 | 
						|
} TIME;
 | 
						|
 | 
						|
UINTN
 | 
						|
BasePrintLibSPrint (
 | 
						|
  OUT CHAR8        *Buffer,
 | 
						|
  IN  UINTN        BufferSize,
 | 
						|
  IN  UINTN        Flags,
 | 
						|
  IN  CONST CHAR8  *FormatString,
 | 
						|
  ...
 | 
						|
  );
 | 
						|
 | 
						|
CHAR8 *
 | 
						|
BasePrintLibFillBuffer (
 | 
						|
  CHAR8   *Buffer,
 | 
						|
  INTN    Length,
 | 
						|
  UINTN   Character,
 | 
						|
  INTN    Increment
 | 
						|
  );
 | 
						|
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
BasePrintLibValueToString (
 | 
						|
  IN OUT CHAR8  *Buffer,
 | 
						|
  IN INT64      Value,
 | 
						|
  IN UINTN      Radix
 | 
						|
  );
 | 
						|
 | 
						|
UINTN
 | 
						|
BasePrintLibConvertValueToString (
 | 
						|
  IN OUT CHAR8   *Buffer,
 | 
						|
  IN UINTN       Flags,
 | 
						|
  IN INT64       Value,
 | 
						|
  IN UINTN       Width,
 | 
						|
  IN UINTN       Increment
 | 
						|
  );
 |