summaryrefslogtreecommitdiff
path: root/StdLib/Include/Arm
diff options
context:
space:
mode:
authordarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>2012-06-15 19:58:39 +0000
committerdarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>2012-06-15 19:58:39 +0000
commita7a8363d86ec8ad445fb73619b1ca5cac4e56a86 (patch)
tree2f395fe3d054f5036014cd7eb1f892d7d7333bb0 /StdLib/Include/Arm
parentc7907ba2fa68a7515747385bf63b47f5e281c904 (diff)
downloadedk2-platforms-a7a8363d86ec8ad445fb73619b1ca5cac4e56a86.tar.xz
StdLib: Add multi-byte character support. The normal "narrow" character set is now UTF-8 instead of ASCII.
Add library classes which are required by StdLib, but not commonly defined in Platform DSC files, to StdLib.inc. Modify MB_LEN_MAX to be 4, the maximum length of UTF-8 characters. Adjust size of internal buffers to be multiples of MB_LEN_MAX instead of assuming 1-byte characters. Make the XYoffset object public and move its declaration into EfiSysCall.h. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: daryl.mcdaniel@intel.com Reviewed-by: erik.c.bjorge@intel.com Reviewed-by: lee.g.rosenbaum@intel.com Reviewed-by: leroy.p.leahy@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13457 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'StdLib/Include/Arm')
-rw-r--r--StdLib/Include/Arm/machine/ansi.h26
1 files changed, 19 insertions, 7 deletions
diff --git a/StdLib/Include/Arm/machine/ansi.h b/StdLib/Include/Arm/machine/ansi.h
index 4c9e65a3bc..8273905cd3 100644
--- a/StdLib/Include/Arm/machine/ansi.h
+++ b/StdLib/Include/Arm/machine/ansi.h
@@ -1,6 +1,15 @@
-/* $NetBSD: ansi.h,v 1.7 2006/10/04 13:51:59 tnozaki Exp $ */
+/** @file
+ Machine dependent ANSI type definitions.
+
+ Copyright (c) 2010-2012, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials are licensed and made available
+ under the terms and conditions of the BSD License that 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.
-/*
* Copyright (c) 1990, 1993
* The Regents of the University of California. All rights reserved.
*
@@ -29,8 +38,8 @@
* SUCH DAMAGE.
*
* from: @(#)ansi.h 8.2 (Berkeley) 1/4/94
- */
-
+ NetBSD: ansi.h,v 1.7 2006/10/04 13:51:59 tnozaki Exp
+**/
#ifndef _ANSI_H_
#define _ANSI_H_
@@ -85,9 +94,12 @@
* mbstate_t is an opaque object to keep conversion state, during multibyte
* stream conversions. The content must not be referenced by user programs.
*/
-typedef union {
- __int64_t __mbstateL; /* for alignment */
- char __mbstate8[128];
+typedef struct {
+ UINT32 A; // Np;
+ UINT32 B; // U;
+ UINT32 E; // L
+ UINT8 C[4]; // n[4]
+ UINT16 D[2]; // w[2]
} __mbstate_t;
#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */