1 /* $NetBSD: refnumtoa.c,v 1.5 2020/05/25 20:47:24 christos Exp $ */ 2 3 /* 4 * refnumtoa - return asciized refclock addresses stored in local array space 5 */ 6 #include <config.h> 7 #include <stdio.h> 8 9 #include "ntp_net.h" 10 #include "lib_strbuf.h" 11 #include "ntp_stdlib.h" 12 13 const char * 14 refnumtoa( 15 sockaddr_u *num 16 ) 17 { 18 u_int32 netnum; 19 char *buf; 20 const char *rclock; 21 22 if (!ISREFCLOCKADR(num)) 23 return socktoa(num); 24 25 LIB_GETBUF(buf); 26 netnum = SRCADR(num); 27 rclock = clockname((int)((u_long)netnum >> 8) & 0xff); 28 29 if (rclock != NULL) 30 snprintf(buf, LIB_BUFLENGTH, "%s(%lu)", 31 rclock, (u_long)netnum & 0xff); 32 else 33 snprintf(buf, LIB_BUFLENGTH, "REFCLK(%lu,%lu)", 34 ((u_long)netnum >> 8) & 0xff, 35 (u_long)netnum & 0xff); 36 37 return buf; 38 } 39