]> git.proxmox.com Git - mirror_edk2.git/blob - StdLib/Include/wctype.h
Add device abstraction code for the UEFI Console and UEFI Shell-based file systems.
[mirror_edk2.git] / StdLib / Include / wctype.h
1 /** @file
2 Wide character classification functions and macros.
3
4 Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials are licensed and made available under
6 the terms and conditions of the BSD License that accompanies this distribution.
7 The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.
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 * Copyright (c)1999 Citrus Project,
14 * All rights reserved.
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
18 * are met:
19 * 1. Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 * 2. Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
26 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35 * SUCH DAMAGE.
36 *
37 * citrus Id: wctype.h,v 1.4 2000/12/21 01:50:21 itojun Exp
38
39 NetBSD: wctype.h,v 1.6 2005/02/03 04:39:32 perry Exp
40 **/
41 #ifndef _WCTYPE_H_
42 #define _WCTYPE_H_
43
44 #include <sys/EfiCdefs.h>
45 #include <machine/ansi.h>
46
47 #ifdef _EFI_WINT_T
48 typedef _EFI_WINT_T wint_t;
49 #undef _BSD_WINT_T_
50 #undef _EFI_WINT_T
51 #endif
52
53 #ifdef _BSD_WCTRANS_T_
54 typedef wint_t (*wctrans_t)(wint_t);
55 #undef _BSD_WCTRANS_T_
56 #endif
57
58 #ifdef _BSD_WCTYPE_T_
59 typedef _BSD_WCTYPE_T_ wctype_t;
60 #undef _BSD_WCTYPE_T_
61 #endif
62
63 #ifndef WEOF
64 #define WEOF ((wint_t)-1)
65 #endif
66
67 __BEGIN_DECLS
68 int /*EFIAPI*/ iswalnum(wint_t);
69 int /*EFIAPI*/ iswalpha(wint_t);
70 int /*EFIAPI*/ iswcntrl(wint_t);
71 int /*EFIAPI*/ iswctype(wint_t, wctype_t);
72 int /*EFIAPI*/ iswdigit(wint_t);
73 int /*EFIAPI*/ iswgraph(wint_t);
74 int /*EFIAPI*/ iswlower(wint_t);
75 int /*EFIAPI*/ iswprint(wint_t);
76 int /*EFIAPI*/ iswpunct(wint_t);
77 int /*EFIAPI*/ iswblank(wint_t);
78 int /*EFIAPI*/ iswspace(wint_t);
79 int /*EFIAPI*/ iswupper(wint_t);
80 int /*EFIAPI*/ iswxdigit(wint_t);
81 wint_t /*EFIAPI*/ towctrans(wint_t, wctrans_t);
82 wint_t /*EFIAPI*/ towlower(wint_t);
83 wint_t /*EFIAPI*/ towupper(wint_t);
84 wctrans_t /*EFIAPI*/ wctrans(const char *);
85 wctype_t /*EFIAPI*/ wctype(const char *);
86 __END_DECLS
87
88 #endif /* _WCTYPE_H_ */