3eb84f311b51aa31cd315ad3020faaa7009ed211
[mirror_edk2.git] / MdePkg / Include / Library / PrintLib.h
1 /** @file
2 Library that provides print services
3
4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. 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 Module Name: PrintLib.h
14
15 **/
16
17 #ifndef __PRINT_LIB_H__
18 #define __PRINT_LIB_H__
19
20 //
21 // Print primitives
22 //
23 #define LEFT_JUSTIFY 0x01
24 #define COMMA_TYPE 0x08
25 #define PREFIX_ZERO 0x20
26
27 UINTN
28 EFIAPI
29 UnicodeVSPrint (
30 OUT CHAR16 *StartOfBuffer,
31 IN UINTN BufferSize,
32 IN CONST CHAR16 *FormatString,
33 IN VA_LIST Marker
34 );
35
36 UINTN
37 EFIAPI
38 UnicodeSPrint (
39 OUT CHAR16 *StartOfBuffer,
40 IN UINTN BufferSize,
41 IN CONST CHAR16 *FormatString,
42 ...
43 );
44
45 UINTN
46 EFIAPI
47 UnicodeVSPrintAsciiFormat (
48 OUT CHAR16 *StartOfBuffer,
49 IN UINTN BufferSize,
50 IN CONST CHAR8 *FormatString,
51 IN VA_LIST Marker
52 );
53
54
55 UINTN
56 EFIAPI
57 UnicodeSPrintAsciiFormat (
58 OUT CHAR16 *StartOfBuffer,
59 IN UINTN BufferSize,
60 IN CONST CHAR8 *FormatString,
61 ...
62 );
63
64 UINTN
65 EFIAPI
66 AsciiVSPrint (
67 OUT CHAR8 *StartOfBuffer,
68 IN UINTN BufferSize,
69 IN CONST CHAR8 *FormatString,
70 IN VA_LIST Marker
71 );
72
73 UINTN
74 EFIAPI
75 AsciiSPrint (
76 OUT CHAR8 *StartOfBuffer,
77 IN UINTN BufferSize,
78 IN CONST CHAR8 *FormatString,
79 ...
80 );
81
82 UINTN
83 EFIAPI
84 AsciiVSPrintUnicodeFormat (
85 OUT CHAR8 *StartOfBuffer,
86 IN UINTN BufferSize,
87 IN CONST CHAR16 *FormatString,
88 IN VA_LIST Marker
89 );
90
91 UINTN
92 EFIAPI
93 AsciiSPrintUnicodeFormat (
94 OUT CHAR8 *StartOfBuffer,
95 IN UINTN BufferSize,
96 IN CONST CHAR16 *FormatString,
97 ...
98 );
99
100 UINTN
101 EFIAPI
102 UnicodeValueToString (
103 IN OUT CHAR16 *Buffer,
104 IN UINTN Flags,
105 IN INT64 Value,
106 IN UINTN Width
107 );
108
109 UINTN
110 EFIAPI
111 AsciiValueToString (
112 IN OUT CHAR8 *Buffer,
113 IN UINTN Flags,
114 IN INT64 Value,
115 IN UINTN Width
116 );
117
118 #endif