From: Harlan Stenn Date: Wed, 20 Feb 2002 00:16:50 +0000 (-0500) Subject: Merge X-Git-Tag: NTP_4_1_73~188 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3649e73bdd59efb93efe795eb2cdd2e4b850a9c;p=thirdparty%2Fntp.git Merge bk: 3c72eaf2AZTDURJswpR-qgjoN1IBQQ --- f3649e73bdd59efb93efe795eb2cdd2e4b850a9c diff --cc include/ntp.h index 46cff6cdf3,2546763a35..906c3a475b --- a/include/ntp.h +++ b/include/ntp.h @@@ -448,32 -448,10 +448,33 @@@ struct peer #define REFCLK_HOPF_SERIAL 38 /* hopf DCF77/GPS serial receiver */ #define REFCLK_HOPF_PCI 39 /* hopf DCF77/GPS PCI receiver */ #define REFCLK_JJY 40 /* JJY receiver */ - #define REFCLK_TT560 41 /* TrueTime 560 IRIG-B decoder (40) */ - #define REFCLK_MAX 41 /* Grow as needed... */ + #define REFCLK_TT560 41 /* TrueTime 560 IRIG-B decoder */ + #define REFCLK_ZYFER 42 /* Zyfer GPStarplus receiver */ + #define REFCLK_MAX 42 /* Grow as needed... */ + /* + * Macro for sockaddr_storage structures operations + */ +#define SOCKCMP(sock1, sock2) (((struct sockaddr_storage*)sock1)->ss_family == ((struct sockaddr_storage*)sock2)->ss_family ? \ + ((struct sockaddr_storage*)sock1)->ss_family == AF_INET ? \ + memcmp(&((struct sockaddr_in*)sock1)->sin_addr, &((struct sockaddr_in*)sock2)->sin_addr, sizeof(struct in_addr))==0 : \ + memcmp(&((struct sockaddr_in6*)sock1)->sin6_addr, &((struct sockaddr_in6*)sock2)->sin6_addr, sizeof(struct in6_addr))==0 : \ + 0) + +#define SOCKNUL(sock1) (((struct sockaddr_storage*)sock1)->ss_family == AF_INET ? \ + (((struct sockaddr_in*)sock1)->sin_addr.s_addr == 0) : \ + (IN6_IS_ADDR_UNSPECIFIED(&((struct sockaddr_in6*)sock1)->sin6_addr))) + +#define SOCKLEN(sock) (((struct sockaddr_storage*)sock)->ss_family == AF_INET ? \ + (sizeof(struct sockaddr_in)) : \ + (sizeof(struct sockaddr_in6))) + +#define ANYSOCK(sock) memset(((struct sockaddr_in*)sock), 0, sizeof(struct sockaddr_storage)-sizeof(struct sockaddr_in)) + +#define ANY_INTERFACE_CHOOSE(sock) (((struct sockaddr_storage*)sock)->ss_family == AF_INET ? \ + any_interface : any6_interface) + + /* * We tell reference clocks from real peers by giving the reference * clocks an address of the form 127.127.t.u, where t is the type and