nfs-ganesha 1.4
|
00001 /* 00002 * Misc pieces 00003 */ 00004 #ifdef HAVE_CONFIG_H 00005 #include "config.h" 00006 #endif 00007 00008 #include "cidr.h" 00009 00010 00011 static const char *__libcidr_version = CIDR_VERSION_STR; 00012 00013 /* Library version info */ 00014 const char * 00015 cidr_version(void) 00016 { 00017 00018 return(__libcidr_version); 00019 } 00020 00021 00022 /* Is a CIDR a v4-mapped IPv6 address? */ 00023 int 00024 cidr_is_v4mapped(const CIDR *addr) 00025 { 00026 int i; 00027 00028 if(addr->proto != CIDR_IPV6) 00029 return(-1); 00030 00031 /* First 10 octets should be 0 */ 00032 for(i=0 ; i<=9 ; i++) 00033 if(addr->addr[i] != 0) 00034 return(-1); 00035 00036 /* Next 2 should be 0xff */ 00037 for(i=10 ; i<=11 ; i++) 00038 if(addr->addr[i] != 0xff) 00039 return(-1); 00040 00041 /* Then it is */ 00042 return(0); 00043 }