getnameinfo.c
来自「《unix网络编程第二卷》中的源代码」· C语言 代码 · 共 48 行
C
48 行
#include "gai_hdr.h"/* include getnameinfo */intgetnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags){ switch (sa->sa_family) {#ifdef IPv4 case AF_INET: { struct sockaddr_in *sain = (struct sockaddr_in *) sa; return(gn_ipv46(host, hostlen, serv, servlen, &sain->sin_addr, sizeof(struct in_addr), AF_INET, sain->sin_port, flags)); }#endif#ifdef IPv6 case AF_INET6: { struct sockaddr_in6 *sain = (struct sockaddr_in6 *) sa; return(gn_ipv46(host, hostlen, serv, servlen, &sain->sin6_addr, sizeof(struct in6_addr), AF_INET6, sain->sin6_port, flags)); }#endif#ifdef UNIXdomain case AF_LOCAL: { struct sockaddr_un *un = (struct sockaddr_un *) sa; if (hostlen > 0) snprintf(host, hostlen, "%s", "/local"); if (servlen > 0) snprintf(serv, servlen, "%s", un->sun_path); return(0); }#endif default: return(1); }}/* end getnameinfo */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?