wctype.h revision 101313
1275221Sbapt/*-
2275221Sbapt * Copyright (c)1999 Citrus Project,
3275221Sbapt * All rights reserved.
4275221Sbapt *
5275221Sbapt * Redistribution and use in source and binary forms, with or without
6275221Sbapt * modification, are permitted provided that the following conditions
7275221Sbapt * are met:
8275221Sbapt * 1. Redistributions of source code must retain the above copyright
9275221Sbapt *    notice, this list of conditions and the following disclaimer.
10275221Sbapt * 2. Redistributions in binary form must reproduce the above copyright
11275221Sbapt *    notice, this list of conditions and the following disclaimer in the
12275221Sbapt *    documentation and/or other materials provided with the distribution.
13275221Sbapt *
14275221Sbapt * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15275221Sbapt * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16275221Sbapt * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17275221Sbapt * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18275221Sbapt * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19290071Sbapt * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20275221Sbapt * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21275221Sbapt * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22275221Sbapt * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23275221Sbapt * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24275221Sbapt * SUCH DAMAGE.
25275221Sbapt *
26275221Sbapt *	citrus Id: wctype.h,v 1.4 2000/12/21 01:50:21 itojun Exp
27275221Sbapt *	$NetBSD: wctype.h,v 1.3 2000/12/22 14:16:16 itojun Exp $
28290071Sbapt * $FreeBSD: head/include/wctype.h 101313 2002-08-04 12:09:08Z tjr $
29275221Sbapt */
30275221Sbapt
31275221Sbapt#ifndef _WCTYPE_H_
32275221Sbapt#define	_WCTYPE_H_
33275221Sbapt
34275221Sbapt#include <sys/cdefs.h>
35275221Sbapt#include <machine/ansi.h>
36275221Sbapt
37275221Sbapt#include <ctype.h>
38275221Sbapt
39275221Sbapt#ifdef	_BSD_WINT_T_
40275221Sbapttypedef	_BSD_WINT_T_    wint_t;
41275221Sbapt#undef	_BSD_WINT_T_
42275221Sbapt#endif
43275221Sbapt
44275221Sbapt#ifndef _WCTRANS_T
45275221Sbapttypedef int	wctrans_t;
46275221Sbapt#define _WCTRANS_T
47275221Sbapt#endif
48275221Sbapt
49275221Sbapt#ifndef _WCTYPE_T
50275221Sbapttypedef long	wctype_t;
51275221Sbapt#define _WCTYPE_T
52275221Sbapt#endif
53275221Sbapt
54275221Sbapt#ifndef WEOF
55275221Sbapt#define	WEOF	((wint_t)-1)
56275221Sbapt#endif
57275221Sbapt
58275221Sbapt__BEGIN_DECLS
59275221Sbaptint	iswctype(wint_t, wctype_t);
60275221Sbaptwint_t	towctrans(wint_t, wctrans_t);
61275221Sbaptwctrans_t wctrans(const char *);
62275221Sbaptwctype_t wctype(const char *);
63275221Sbapt#if 0
64275221Sbapt/* XXX: not implemented */
65275221Sbaptint	iswalnum(wint_t);
66275221Sbaptint	iswalpha(wint_t);
67275221Sbaptint	iswblank(wint_t);
68275221Sbaptint	iswcntrl(wint_t);
69275221Sbaptint	iswdigit(wint_t);
70275221Sbaptint	iswgraph(wint_t);
71275221Sbaptint	iswlower(wint_t);
72275221Sbaptint	iswprint(wint_t);
73275221Sbaptint	iswpunct(wint_t);
74275221Sbaptint	iswspace(wint_t);
75275221Sbaptint	iswupper(wint_t);
76275221Sbaptint	iswxdigit(wint_t);
77275221Sbaptwint_t	towlower(wint_t);
78275221Sbaptwint_t	towupper(wint_t);
79275221Sbapt#endif
80275221Sbapt__END_DECLS
81275221Sbapt
82275221Sbapt#define iswctype(wc, charclass) __istype((wc), (charclass))
83275221Sbapt
84275221Sbapt#endif		/* _WCTYPE_H_ */
85275221Sbapt