AF_INET:src为指向字符型的地址,即ASCII的地址的首地址(ddd.ddd.ddd.ddd格式的),函数将该地址转换为in_addr的结构体,并复制在*dst中 AF_INET6:rc为指向IPV6的地址,,函数将该地址转换为in6_addr的结构体,并复制在*dst中 如果函数出错将返回一个负值,并将errno设置为EAFNOSUPPORT,如果参数af指定的地址族和...
一、结构体 struct sockaddr_in, struct sockaddr, struct in_addr struct sockaddr_in, struct sockaddr,struct in_addr,这是网络编程中常用的结构体,每次都记不住它们各自的成员是啥,需要临时查,为方便以后的查看,在这里总结下。 struct sockaddr { unsigned short sa_family; /* 地址族, AF_xxx */ char s...
struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; struct sockaddr ifru_broadaddr; struct sockaddr ifru_netmask; struct sockaddr ifru_hwaddr; short int ifru_flags; int ifru_ivalue; int ifru_mtu; struct ifmap ifru_map; char ifru_slave[IFNAMSIZ]; /* Just fits the size */ char ifru_...
Union{ Struct sockaddr ifru_addr; Struct sockaddr ifru_dstaddr; Struct sockaddr ifru_broadaddr; Struct sockaddr ifru_netmask; Struct sockaddr ifru_hwaddr; Short ifru_flags; Int ifru_metric; Caddr_t ifru_data; }ifr_ifru; }; #define ifr_addr ifr_ifru.ifru_addr #define ifr_broadaddr ifr_i...
struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; struct sockaddr ifru_broadaddr; struct sockaddr ifru_netmask; struct sockaddr ifru_hwaddr; short int ifru_flags; int ifru_ivalue; int ifru_mtu; struct ifmap ifru_map; char ifru_slave[IFNAMSIZ]; /* Just fits the size */ ...
struct sockaddr_in { short sin_family;//协议族 unsigned short int sin_port;//端口号(windows平台部分编译环境下,可能将此类型typdef为 in_port_t)struct in_addr sin_addr;//intenet地址信息,详细内容之后讨论 unsigned char sin_zero[len];//充填部分 } 我们着重看一下struct sockaddr_in这个结构体...
(unsigned char)ifreq.ifr_addr.sa_data[2],这种形式了,还是解释一下吧:这个ifr_addr是一个struct sockaddr结构体。它其中的sa_date[2]是不是照着上面sockaddr_in中的sin_add(也就是ip地址呢),该明白了吧。。。 总结:通过这个函数,可以很好的理解怎么得到ip和子网掩码的过程。。。 分类: 网络编程 , Linux...
struct sockaddr_in serv_addr; if ((host = gethostbyname(argv[1])) == NULL) { printf("gethostbyname error\n"); exit(0); } printf("official name: %s\n\n", host->h_name); printf("address length: %d bytes\n\n", host->h_length); ...
struct sockaddr ifru_dstaddr; struct sockaddr ifru_broadaddr; struct sockaddr ifru_netmask; struct sockaddr ifru_hwaddr; shortint ifru_flags; int ifru_ivalue; int ifru_mtu; struct ifmap ifru_map; char ifru_slave[IFNAMSIZ];/* Just fits the size */ ...
struct ifreq{ char ifr_name[IFNAMSIZ]; union{ struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; struct sockaddr ifru_broadaddr; struct sockaddr ifru_netmask; struct sockaddr ifru_hwaddr; short ifru_flags; int ifru_metric; caddr_t ifru_data; }ifr_ifru; }; #define ifr_addr ifr_ifr...