source: arduino-1-6-7/trunk/fuentes/arduino-ide-amd64/hardware/tools/avr/avr/include/ctype.h @ 46

Last change on this file since 46 was 46, checked in by jrpelegrina, 4 years ago

First release to Xenial

File size: 5.2 KB
Line 
1/* Copyright (c) 2002,2007 Michael Stumpf
2   All rights reserved.
3
4   Redistribution and use in source and binary forms, with or without
5   modification, are permitted provided that the following conditions are met:
6
7   * Redistributions of source code must retain the above copyright
8     notice, this list of conditions and the following disclaimer.
9
10   * Redistributions in binary form must reproduce the above copyright
11     notice, this list of conditions and the following disclaimer in
12     the documentation and/or other materials provided with the
13     distribution.
14
15   * Neither the name of the copyright holders nor the names of
16     contributors may be used to endorse or promote products derived
17     from this software without specific prior written permission.
18
19  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  POSSIBILITY OF SUCH DAMAGE. */
30
31/* $Id$ */
32
33/*
34   ctype.h - character conversion macros and ctype macros
35
36  Author : Michael Stumpf
37           Michael.Stumpf@t-online.de
38*/
39
40#ifndef __CTYPE_H_
41#define __CTYPE_H_ 1
42
43#ifndef __ATTR_CONST__
44#define __ATTR_CONST__ __attribute__((__const__))
45#endif
46
47#ifdef __cplusplus
48extern "C" {
49#endif
50
51/** \file */
52/** \defgroup ctype <ctype.h>: Character Operations
53    These functions perform various operations on characters.
54
55    \code #include <ctype.h>\endcode
56
57*/
58
59/** \name Character classification routines
60
61    These functions perform character classification. They return true or
62    false status depending whether the character passed to the function falls
63    into the function's classification (i.e. isdigit() returns true if its
64    argument is any value '0' though '9', inclusive). If the input is not
65    an unsigned char value, all of this function return false.  */
66
67 /* @{ */
68
69/** \ingroup ctype
70
71    Checks for an alphanumeric character. It is equivalent to <tt>(isalpha(c)
72    || isdigit(c))</tt>. */
73
74extern int isalnum(int __c) __ATTR_CONST__;
75
76/** \ingroup ctype
77
78    Checks for an alphabetic character. It is equivalent to <tt>(isupper(c) ||
79    islower(c))</tt>. */
80
81extern int isalpha(int __c) __ATTR_CONST__;
82
83/** \ingroup ctype
84
85    Checks whether \c c is a 7-bit unsigned char value that fits into the
86    ASCII character set. */
87
88extern int isascii(int __c) __ATTR_CONST__;
89
90/** \ingroup ctype
91
92    Checks for a blank character, that is, a space or a tab. */
93
94extern int isblank(int __c) __ATTR_CONST__;
95
96/** \ingroup ctype
97
98    Checks for a control character. */
99
100extern int iscntrl(int __c) __ATTR_CONST__;
101
102/** \ingroup ctype
103
104    Checks for a digit (0 through 9). */
105
106extern int isdigit(int __c) __ATTR_CONST__;
107
108/** \ingroup ctype
109
110    Checks for any printable character except space. */
111
112extern int isgraph(int __c) __ATTR_CONST__;
113
114/** \ingroup ctype
115
116    Checks for a lower-case character. */
117
118extern int islower(int __c) __ATTR_CONST__;
119
120/** \ingroup ctype
121
122    Checks for any printable character including space. */
123
124extern int isprint(int __c) __ATTR_CONST__;
125
126/** \ingroup ctype
127
128    Checks for any printable character which is not a space or an alphanumeric
129    character. */
130
131extern int ispunct(int __c) __ATTR_CONST__;
132
133/** \ingroup ctype
134
135    Checks for white-space characters.  For the avr-libc library, these are:
136    space, form-feed ('\\f'), newline ('\\n'), carriage return ('\\r'),
137    horizontal tab ('\\t'), and vertical tab ('\\v'). */
138
139extern int isspace(int __c) __ATTR_CONST__;
140
141/** \ingroup ctype
142
143    Checks for an uppercase letter. */
144
145extern int isupper(int __c) __ATTR_CONST__;
146
147/** \ingroup ctype
148
149    Checks for a hexadecimal digits, i.e. one of 0 1 2 3 4 5 6 7 8 9 a b c d e
150    f A B C D E F. */
151
152extern int isxdigit(int __c) __ATTR_CONST__;
153
154/* @} */
155
156/** \name Character convertion routines
157
158    This realization permits all possible values of integer argument.
159    The toascii() function clears all highest bits. The tolower() and
160    toupper() functions return an input argument as is, if it is not an
161    unsigned char value.        */
162
163/* @{ */
164
165/** \ingroup ctype
166
167    Converts \c c to a 7-bit unsigned char value that fits into the ASCII
168    character set, by clearing the high-order bits.
169
170    \warning Many people will be unhappy if you use this function. This
171    function will convert accented letters into random characters. */
172
173extern int toascii(int __c) __ATTR_CONST__;
174
175/** \ingroup ctype
176
177    Converts the letter \c c to lower case, if possible. */
178
179extern int tolower(int __c) __ATTR_CONST__;
180
181/** \ingroup ctype
182
183    Converts the letter \c c to upper case, if possible. */
184
185extern int toupper(int __c) __ATTR_CONST__;
186
187/* @} */
188
189#ifdef __cplusplus
190}
191#endif
192
193#endif
Note: See TracBrowser for help on using the repository browser.