00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 #include "S_SCTPIpAddr.hpp"
00020 #include "Utils.hpp"
00021 
00022 T_pIpAddr create_IpAddr () {
00023   T_pIpAddr L_ret = NULL ;
00024   ALLOC_VAR(L_ret, T_pIpAddr, sizeof(T_IpAddr));
00025   clear_IpAddr(L_ret);
00026   return (L_ret);
00027 }
00028 
00029 void  clear_IpAddr(T_pIpAddr P_IpAddr) {
00030   if (P_IpAddr != NULL) {
00031     P_IpAddr->m_umode = E_IP_USAGE_MODE_UNKNOWN ;
00032     P_IpAddr->m_buffer_size = DEFAULT_IP_BUFFER_SIZE ;
00033     P_IpAddr->m_open = NULL ;
00034     P_IpAddr->m_value = NULL ;
00035     P_IpAddr->m_port = -1 ;
00036     P_IpAddr->m_ip = NULL ;
00037     memset(&(P_IpAddr->m_addr), 0, sizeof(T_SockAddrStorage));  ;
00038   }
00039 }
00040 
00041 void  delete_IpAddr(T_pIpAddr *P_IpAddr) {
00042 
00043   T_pIpAddr L_IpAddr = NULL ;
00044   if (P_IpAddr != NULL) {
00045     L_IpAddr = *P_IpAddr ;
00046 
00047     FREE_TABLE(L_IpAddr->m_open);
00048     FREE_VAR(L_IpAddr->m_value);
00049     FREE_VAR(L_IpAddr->m_ip);
00050     FREE_VAR(L_IpAddr);
00051 
00052     *P_IpAddr = NULL ;
00053   }
00054   
00055 }
00056 
00057 int  get_domain(T_pIpAddr P_IpAddr) {
00058   int L_ret = -1 ;
00059   if (P_IpAddr != NULL) {
00060     switch ((P_IpAddr->m_addr).SOCKADDR_FAMILY) {
00061     case AF_INET:
00062       L_ret = PF_INET ;
00063       break ;
00064 #ifndef USE_IPV4_ONLY
00065     case AF_INET6:
00066       L_ret = PF_INET6 ;
00067       break ;
00068 #endif
00069     default:
00070       break ;
00071     }
00072   }
00073   return (L_ret);
00074 }