⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 host2ip.c

📁 RTP 实现的工具
💻 C
字号:
#include <sys/types.h>#include <sys/socket.h>      /* struct sockaddr */#include <netdb.h>           /* gethostbyname() */#include <netinet/in.h>      /* sockaddr_in */#include <arpa/inet.h>       /* inet_addr() */#include <rpcsvc/ypclnt.h>   /* YP */static char rcsid[] = "$Id: host2ip.c,v 1.2 1995/07/13 18:03:31 hgs Exp $";/** Return IP address given host name 'host'.* If 'host' is "", set to INADDR_ANY.*/struct in_addr host2ip(char *host){  struct in_addr in;  register struct hostent *hep;  /* Check whether this is a dotted decimal. */  if (!host || *host == '\0') {    in.s_addr = INADDR_ANY;  }  else if ((in.s_addr = inet_addr(host)) != -1) {  }  /* Attempt to resolve host name via DNS. */  else if ((hep = gethostbyname(host))) {    in = *(struct in_addr *)(hep->h_addr_list[0]);  }  /* As a last resort, try YP. */  else {    static char *domain = 0;  /* YP domain */    char *value;              /* key value */    int value_len;            /* length of returned value */    if (!domain) yp_get_default_domain(&domain);    if (yp_match(domain, "hosts.byname", host, strlen(host), &value, &value_len) == 0) {      in.s_addr = inet_addr(value);    }  }  return in;} /* host2ip */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -