00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _S_IP_ADDR_HPP
00021 #define _S_IP_ADDR_HPP
00022
00023 #include "socket_t.hpp"
00024 #include "list_t.hpp"
00025
00026 #include "map_t.hpp"
00027
00028 typedef enum _enum_ip_usage_mode {
00029 E_IP_USAGE_MODE_UNKNOWN,
00030 E_IP_USAGE_MODE_SERVER,
00031 E_IP_USAGE_MODE_CLIENT
00032 } T_IpUsageMode, *T_pIpUsageMode ;
00033
00034
00035 typedef struct _struct_ip_addr {
00036 T_IpUsageMode m_umode ;
00037 size_t m_buffer_size ;
00038 char *m_open ;
00039
00040 char *m_value ;
00041 long m_port ;
00042 char *m_ip ;
00043 T_SockAddrStorage m_addr ;
00044
00045 char *m_open_src ;
00046 char *m_value_src ;
00047 long m_port_src ;
00048 char *m_ip_src ;
00049 T_SockAddrStorage m_addr_src ;
00050
00051 } T_IpAddr, *T_pIpAddr ;
00052
00053 void clear_IpAddr(T_pIpAddr P_IpAddr) ;
00054 T_pIpAddr create_IpAddr() ;
00055 void delete_IpAddr(T_pIpAddr *P_IpAddr) ;
00056
00057 int get_domain(T_pIpAddr P_IpAddr);
00058
00059 typedef list_t<T_pIpAddr> T_IpAddrList, *T_pIpAddrList ;
00060
00061 typedef map_t<int, T_pIpAddr> T_IpAddrMap, *T_pIpAddrMap ;
00062
00063 #endif
00064
00065