ctype.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2006 Josef Cejka
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * - Redistributions of source code must retain the above copyright
00010  *   notice, this list of conditions and the following disclaimer.
00011  * - Redistributions in binary form must reproduce the above copyright
00012  *   notice, this list of conditions and the following disclaimer in the
00013  *   documentation and/or other materials provided with the distribution.
00014  * - The name of the author may not be used to endorse or promote products
00015  *   derived from this software without specific prior written permission.
00016  *
00017  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
00018  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00019  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
00020  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
00021  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
00022  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00023  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00024  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00025  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00026  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00027  */
00028 
00035 #ifndef LIBC_CTYPE_H_
00036 #define LIBC_CTYPE_H_
00037 
00038 static inline int islower(int c)
00039 {
00040         return ((c >= 'a') && (c <= 'z'));
00041 }
00042 
00043 static inline int isupper(int c)
00044 {
00045         return ((c >= 'A') && (c <= 'Z'));
00046 }
00047 
00048 static inline int isalpha(int c)
00049 {
00050         return (islower(c) || isupper(c));
00051 }
00052 
00053 static inline int isdigit(int c)
00054 {
00055         return ((c >= '0') && (c <= '9'));
00056 }
00057 
00058 static inline int isalnum(int c)
00059 {
00060         return (isalpha(c) || isdigit(c));
00061 }
00062 
00063 static inline int isspace(int c)
00064 {
00065         switch (c) {
00066         case ' ':
00067         case '\n':
00068         case '\t':
00069         case '\f':
00070         case '\r':
00071         case '\v':
00072                 return 1;
00073                 break;
00074         default:
00075                 return 0;
00076         }
00077 }
00078 
00079 static inline int tolower(int c)
00080 {
00081         if (isupper(c))
00082                 return (c + ('a' - 'A'));
00083         else
00084                 return c;
00085 }
00086 
00087 static inline int toupper(int c)
00088 {
00089         if (islower(c))
00090                 return (c + ('A' - 'a'));
00091         else
00092                 return c;
00093 }
00094 
00095 #endif
00096 

Generated on Thu Jun 2 07:45:46 2011 for HelenOS/USB by  doxygen 1.4.7