int toupper(int c);
int tolower(int c);
int _toupper(int c);
int _tolower(int c);
int toascii(int c);
The macros _toupper and _tolower accomplish the same things as toupper and tolower, respectively, but have restricted domains and are faster. _toupper requires a lowercase letter as its argument; its result is the corresponding uppercase letter. _tolower requires an uppercase letter as its argument; its result is the corresponding lowercase letter. Arguments outside the domain cause undefined results.
toascii yields its argument with all bits turned off that are not part of a standard 7-bit ASCII character; it is intended for compatibility with other systems.
toupper, tolower, _toupper, and_tolower are affected by LC_CTYPE. In the C locale, or in a locale where shift information is not defined, these functions determine the case of characters according to the rules of the ASCII-coded character set. Characters outside the ASCII range of characters are returned unchanged.
All the conversion functions and macros use a table lookup.