sock_cmp_addr.c
来自「《unix网络编程第二卷》中的源代码」· C语言 代码 · 共 44 行
C
44 行
#include "unp.h"#ifdef HAVE_SOCKADDR_DL_STRUCT# include <net/if_dl.h>#endifintsock_cmp_addr(const struct sockaddr *sa1, const struct sockaddr *sa2, socklen_t salen){ if (sa1->sa_family != sa2->sa_family) return(-1); switch (sa1->sa_family) { case AF_INET: { return(memcmp( &((struct sockaddr_in *) sa1)->sin_addr, &((struct sockaddr_in *) sa2)->sin_addr, sizeof(struct in_addr))); }#ifdef IPV6 case AF_INET6: { return(memcmp( &((struct sockaddr_in6 *) sa1)->sin6_addr, &((struct sockaddr_in6 *) sa2)->sin6_addr, sizeof(struct in6_addr))); }#endif#ifdef AF_UNIX case AF_UNIX: { return(strcmp( ((struct sockaddr_un *) sa1)->sun_path, ((struct sockaddr_un *) sa2)->sun_path)); }#endif#ifdef HAVE_SOCKADDR_DL_STRUCT case AF_LINK: { return(-1); /* no idea what to compare here ? */ }#endif } return (-1);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?