audk/IntelFrameworkModulePkg/Universal/BdsDxe/Language.h

69 lines
1.8 KiB
C

/** @file
Language setting
Copyright (c) 2004 - 2008, Intel Corporation. <BR>
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 _LANGUAGE_H_
#define _LANGUAGE_H_
#include "String.h"
/**
Convert language code from RFC3066 to ISO639-2.
@param LanguageRfc3066 RFC3066 language code.
@param LanguageIso639 ISO639-2 language code.
@retval EFI_SUCCESS Language code converted.
@retval EFI_NOT_FOUND Language code not found.
**/
EFI_STATUS
EFIAPI
ConvertRfc3066LanguageToIso639Language (
IN CHAR8 *LanguageRfc3066,
OUT CHAR8 *LanguageIso639
);
/**
Get next language from language code list (with separator ';').
If LangCode is NULL, then ASSERT.
If Lang is NULL, then ASSERT.
@param LangCode On input: point to first language in the list. On
output: point to next language in the list, or
NULL if no more language in the list.
@param Lang The first language in the list.
**/
VOID
EFIAPI
GetNextLanguage (
IN OUT CHAR8 **LangCode,
OUT CHAR8 *Lang
);
/**
Determine the current language that will be used
based on language related EFI Variables.
@param LangCodesSettingRequired If required to set LangCode variable
**/
VOID
InitializeLanguage (
BOOLEAN LangCodesSettingRequired
);
#endif // _LANGUAGE_H_