diff options
Diffstat (limited to 'bsd/freebsd/contrib/ntp/libntp/refnumtoa.c')
-rw-r--r-- | bsd/freebsd/contrib/ntp/libntp/refnumtoa.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/bsd/freebsd/contrib/ntp/libntp/refnumtoa.c b/bsd/freebsd/contrib/ntp/libntp/refnumtoa.c new file mode 100644 index 0000000..736c33c --- /dev/null +++ b/bsd/freebsd/contrib/ntp/libntp/refnumtoa.c @@ -0,0 +1,38 @@ +#include <machine/rtems-bsd-user-space.h> + +/* + * refnumtoa - return asciized refclock addresses stored in local array space + */ +#include <config.h> +#include <stdio.h> + +#include "ntp_net.h" +#include "lib_strbuf.h" +#include "ntp_stdlib.h" + +const char * +refnumtoa( + sockaddr_u *num + ) +{ + u_int32 netnum; + char *buf; + const char *rclock; + + if (!ISREFCLOCKADR(num)) + return socktoa(num); + + LIB_GETBUF(buf); + netnum = SRCADR(num); + rclock = clockname((int)((u_long)netnum >> 8) & 0xff); + + if (rclock != NULL) + snprintf(buf, LIB_BUFLENGTH, "%s(%lu)", + rclock, (u_long)netnum & 0xff); + else + snprintf(buf, LIB_BUFLENGTH, "REFCLK(%lu,%lu)", + ((u_long)netnum >> 8) & 0xff, + (u_long)netnum & 0xff); + + return buf; +} |