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