git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@263 6f19259b...
[mirror_edk2.git] / MdePkg / Library / BasePrintLib / PrintLibInternal.h
CommitLineData
878ddf1f 1/** @file\r
2 Print Library.\r
3\r
4 Copyright (c) 2006, Intel Corporation\r
5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13 Module Name: PrintLibInternal.h\r
14\r
15**/\r
16\r
17\r
18\r
19//\r
20// Print primitives\r
21//\r
22//#define LEFT_JUSTIFY 0x01\r
23#define PREFIX_SIGN 0x02\r
24#define PREFIX_BLANK 0x04\r
25//#define COMMA_TYPE 0x08\r
26#define LONG_TYPE 0x10\r
27//#define PREFIX_ZERO 0x20\r
28#define OUTPUT_UNICODE 0x40\r
29#define RADIX_HEX 0x80\r
30#define FORMAT_UNICODE 0x100\r
31#define PAD_TO_WIDTH 0x200\r
32#define ARGUMENT_UNICODE 0x400\r
33#define PRECISION 0x800\r
34#define ARGUMENT_REVERSED 0x1000\r
35\r
36///\r
37/// Define the maximum number of characters that are required to encode\r
38/// a decimal, hexidecimal, GUID, or TIME value with a Nll terminator.\r
39/// Maximum Length Decimal String = 28 "-9,223,372,036,854,775,808"\r
40/// Maximum Length Hexidecimal String = 17 "FFFFFFFFFFFFFFFF"\r
41/// Maximum Length GUID = 37 "00000000-0000-0000-0000-000000000000"\r
42/// Maximum Length TIME = 17 "12/12/2006 12:12"\r
43///\r
44#define MAXIMUM_VALUE_CHARACTERS 38\r
45\r
46//\r
47//\r
48//\r
49typedef struct {\r
50 UINT16 Year;\r
51 UINT8 Month;\r
52 UINT8 Day;\r
53 UINT8 Hour;\r
54 UINT8 Minute;\r
55 UINT8 Second;\r
56 UINT8 Pad1;\r
57 UINT32 Nanosecond;\r
58 INT16 TimeZone;\r
59 UINT8 Daylight;\r
60 UINT8 Pad2;\r
61} TIME;\r
62\r
63UINTN\r
64BasePrintLibSPrint (\r
65 OUT CHAR8 *Buffer,\r
66 IN UINTN BufferSize,\r
67 IN UINTN Flags,\r
68 IN CONST CHAR8 *FormatString,\r
69 ...\r
70 );\r
71\r
72CHAR8 *\r
73BasePrintLibFillBuffer (\r
74 CHAR8 *Buffer,\r
75 INTN Length,\r
76 UINTN Character,\r
77 INTN Increment\r
78 );\r
79\r
80UINTN\r
81EFIAPI\r
82BasePrintLibValueToString (\r
83 IN OUT CHAR8 *Buffer, \r
84 IN INT64 Value, \r
85 IN UINTN Radix\r
86 );\r
87\r