Home | History | Annotate | Line # | Download | only in libntp
      1 /*	$NetBSD: clocktypes.c,v 1.6 2024/08/18 20:47:13 christos Exp $	*/
      2 
      3 /*
      4  * Data for pretty printing clock types
      5  */
      6 #include <config.h>
      7 #include <stdio.h>
      8 
      9 #include "ntp_fp.h"
     10 #include "ntp.h"
     11 #include "ntp_refclock.h"
     12 #include "ntp_stdlib.h"
     13 
     14 struct clktype clktypes[] = {
     15 	{ REFCLK_NONE,		"unspecified type (0)",
     16 	  "UNKNOWN" },
     17 	{ REFCLK_LOCALCLOCK,	"Undisciplined local clock (1)",
     18 	  "LOCAL" },
     19 	{ REFCLK_GPS_TRAK,	"TRAK 8810 GPS Receiver (2)",
     20 	  "GPS_TRAK" },
     21 	{ REFCLK_WWV_PST,	"PSTI/Traconex WWV/WWVH Receiver (3)",
     22 	  "WWV_PST" },
     23 	{ REFCLK_SPECTRACOM,	"Spectracom (generic) Receivers (4)",
     24 	  "SPECTRACOM" },
     25 	{ REFCLK_TRUETIME,	"TrueTime (generic) Receivers (5)",
     26 	  "TRUETIME" },
     27 	{ REFCLK_IRIG_AUDIO,	"IRIG Audio Decoder (6)",
     28 	  "IRIG_AUDIO" },
     29 	{ REFCLK_CHU_AUDIO,	"CHU Audio Demodulator/Decoder (7)",
     30 	  "CHU_AUDIO" },
     31 	{ REFCLK_PARSE,		"Generic reference clock driver (8)",
     32 	  "GENERIC" },
     33 	{ REFCLK_GPS_MX4200,	"Magnavox MX4200 GPS Receiver (9)",
     34 	  "GPS_MX4200" },
     35 	{ REFCLK_GPS_AS2201,	"Austron 2201A GPS Receiver (10)",
     36 	  "GPS_AS2201" },
     37 	{ REFCLK_GPS_ARBITER,	"Arbiter 1088A/B GPS Receiver (11)",
     38 	  "GPS_ARBITER" },
     39 	{ REFCLK_IRIG_TPRO,	"KSI/Odetics TPRO/S IRIG Interface (12)",
     40 	  "IRIG_TPRO" },
     41 	{ REFCLK_ATOM_LEITCH,	"Leitch CSD 5300 Master Clock Controller (13)",
     42 	  "ATOM_LEITCH" },
     43 	{ REFCLK_MSF_EES,	"EES M201 MSF Receiver (14)",
     44 	  "MSF_EES" },
     45 	{ REFCLK_NONE,		"not used (15)",
     46 	  "NOT_USED" },
     47 	{ REFCLK_IRIG_BANCOMM,	"Bancomm GPS/IRIG Receiver (16)",
     48 	  "GPS_BANC" },
     49 	{ REFCLK_GPS_DATUM,	"Datum Precision Time System (17)",
     50 	  "GPS_DATUM" },
     51 	{ REFCLK_ACTS,		"Automated Computer Time Service (18)",
     52 	  "ACTS_MODEM" },
     53 	{ REFCLK_WWV_HEATH,	"Heath WWV/WWVH Receiver (19)",
     54 	  "WWV_HEATH" },
     55 	{ REFCLK_GPS_NMEA,	"Generic NMEA GPS Receiver (20)",
     56 	  "GPS_NMEA" },
     57 	{ REFCLK_GPS_VME,	"TrueTime GPS-VME Interface (21)",
     58 	  "GPS_VME" },
     59 	{ REFCLK_ATOM_PPS,	"PPS Clock Discipline (22)",
     60 	  "PPS" },
     61 	{ REFCLK_NONE,		"not used (23)",
     62 	  "NOT_USED" },
     63 	{ REFCLK_NONE,		"not used (24)",
     64 	  "NOT_USED" },
     65 	{ REFCLK_NONE,		"not used (25)",
     66 	  "NOT_USED" },
     67 	{ REFCLK_GPS_HP,	"HP 58503A GPS Time & Frequency Receiver (26)",
     68 	  "GPS_HP" },
     69 	{ REFCLK_ARCRON_MSF,	"ARCRON MSF (and DCF77) Receiver (27)",
     70 	  "MSF_ARCRON" },
     71 	{ REFCLK_SHM,		"Clock attached thru shared Memory (28)",
     72 	  "SHM" },
     73 	{ REFCLK_PALISADE,	"Trimble Navigation Palisade GPS (29)",
     74 	  "GPS_PALISADE" },
     75 	{ REFCLK_ONCORE,	"Motorola UT Oncore GPS (30)",
     76 	  "GPS_ONCORE" },
     77 	{ REFCLK_GPS_JUPITER,	"Rockwell Jupiter GPS (31)",
     78 	  "GPS_JUPITER" },
     79 	{ REFCLK_CHRONOLOG,	"Chrono-log K (32)",
     80 	  "CHRONOLOG" },
     81 	{ REFCLK_DUMBCLOCK,	"Dumb generic hh:mm:ss local clock (33)",
     82 	  "DUMBCLOCK" },
     83 	{ REFCLK_ULINK,		"Ultralink M320 WWVB receiver (34)",
     84 	  "ULINK_M320"},
     85 	{ REFCLK_PCF,		"Conrad parallel port radio clock (35)",
     86 	  "PCF"},
     87 	{ REFCLK_WWV_AUDIO,	"WWV/H Audio Demodulator/Decoder (36)",
     88 	  "WWV_AUDIO"},
     89 	{ REFCLK_FG,		"Forum Graphic GPS Dating Station (37)",
     90 	  "GPS_FG"},
     91 	{ REFCLK_HOPF_SERIAL,	"hopf Elektronic serial line receiver (38)",
     92 	  "HOPF_S"},
     93 	{ REFCLK_HOPF_PCI,	"hopf Elektronic PCI receiver (39)",
     94 	  "HOPF_P"},
     95 	{ REFCLK_JJY,		"JJY receiver (40)",
     96 	  "JJY"},
     97 	{ REFCLK_TT560,		"TrueTime 560 IRIG-B decoder (41)",
     98 	  "TT_IRIG"},
     99 	{ REFCLK_ZYFER,		"Zyfer GPStarplus receiver (42)",
    100 	  "GPS_ZYFER" },
    101 	{ REFCLK_RIPENCC,	"RIPE NCC Trimble driver (43)",
    102 	  "GPS_RIPENCC" },
    103 	{ REFCLK_NEOCLOCK4X,	"NeoClock4X DCF77 / TDF receiver (44)",
    104 	  "NEOCLK4X"},
    105         { REFCLK_TSYNCPCI,    "Spectracom TSYNC PCI timing board (45)",
    106           "PCI_TSYNC"},
    107 	{ REFCLK_GPSDJSON,	"GPSD JSON socket (46)",
    108 	  "GPSD_JSON"},
    109 	{ -1,			"", "" }
    110 };
    111 
    112 const char *
    113 clockname(
    114 	int num
    115 	)
    116 {
    117 	register struct clktype *clk;
    118 
    119 	for (clk = clktypes; clk->code != -1; clk++) {
    120 		if (num == clk->code)
    121 			return (clk->abbrev);
    122 	}
    123 	return (NULL);
    124 }
    125