void case_lowers(s);
void case_lowerb(s,len);
void case_uppers(s);
void case_upperb(s,len);
int case_diffs(s,t);
int case_equals(s,t);
int case_diffrs(s,t);
int case_equalrs(s,t);
int case_starts(s,t);
int case_diffb(s,len,t);
int case_startb(s,len,t);
char *s;
char *t;
unsigned int len;
case_lowerb converts each uppercase byte in the buffer s, of length len, to lowercase.
case_uppers converts each lowercase byte in the string s to uppercase. s must be 0-terminated.
case_upperb converts each lowercase byte in the buffer s, of length len, to uppercase.
case_diffs lexicographically compares lowercase versions of the strings s and t. It returns something positive, negative, or zero when the first is larger than, smaller than, or equal to the second. s and t must be 0-terminated.
case_equals means !case_diffs.
case_diffrs and case_equalrs compare strings from right to left instead from left to right.
case_starts returns 1 if a lowercase version of s starts with a lowercase version of t. s and t must be 0-terminated.
case_diffb lexicographically compares lowercase versions of the buffers s and t, each of length len. It returns something positive, negative, or zero when the first is larger than, smaller than, or equal to the second.
case_startb returns 1 if a lowercase version of the buffer s, of length len, starts with a lowercase version of the string t. t must be 0-terminated.
The case routines are ASCII-specific. They are suitable for programs that handle case-independent networking protocols.
All comparisons are performed on unsigned bytes.