Home | History | Annotate | Line # | Download | only in libntp
      1 /*	$NetBSD: refnumtoa.c,v 1.6 2024/08/18 20:47:13 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 "ntp_stdlib.h"
     11 
     12 const char *
     13 refnumtoa(
     14 	const sockaddr_u *num
     15 	)
     16 {
     17 	u_int32 netnum;
     18 	char *buf;
     19 	const char *rclock;
     20 
     21 	if (!ISREFCLOCKADR(num))
     22 		return socktoa(num);
     23 
     24 	LIB_GETBUF(buf);
     25 	netnum = SRCADR(num);
     26 	rclock = clockname((int)((u_long)netnum >> 8) & 0xff);
     27 
     28 	if (rclock != NULL)
     29 		snprintf(buf, LIB_BUFLENGTH, "%s(%lu)",
     30 			 rclock, (u_long)netnum & 0xff);
     31 	else
     32 		snprintf(buf, LIB_BUFLENGTH, "REFCLK(%lu,%lu)",
     33 			 ((u_long)netnum >> 8) & 0xff,
     34 			 (u_long)netnum & 0xff);
     35 
     36 	return buf;
     37 }
     38