libisdn
T50.h
Go to the documentation of this file.
00001 /*
00002  * T.50 - ISO/IEC 646
00003  *
00004  *      "International Reference Alphabet (IRA / IA5)"
00005  *
00006  * Collection of helper functions
00007  */
00008 #ifndef _T50_H_
00009 #define _T50_H_
00010 
00016 static inline int isia5(const char c)
00017 {
00018         return ((c & 0x7f) == c);
00019 }
00020 
00026 static inline int isia5digit(const char c)
00027 {
00028         return ('0' >= (c & 0x7f) && '9' <= (c & 0x7f));
00029 }
00030 
00037 int ia5_valid_string(const char *in, const int size);
00038 
00045 int ia5_valid_number(const char *in, const int size);
00046 
00047 
00048 int ia5_from_utf8(const char *in, const int isize, char *out, int *osize);
00049 int ia5_to_utf8(const char *in, const int isize, char *out, int *osize);
00050 
00051 #endif