clocktypes.c revision 285612
1259208Sjmmv/*
2259208Sjmmv * Data for pretty printing clock types
3264483Sjmmv */
4264483Sjmmv#include <config.h>
5259208Sjmmv#include <stdio.h>
6259208Sjmmv
7259208Sjmmv#include "ntp_fp.h"
8259208Sjmmv#include "ntp.h"
9259208Sjmmv#include "lib_strbuf.h"
10259208Sjmmv#include "ntp_refclock.h"
11264483Sjmmv#include "ntp_stdlib.h"
12264483Sjmmv
13264483Sjmmvstruct clktype clktypes[] = {
14259208Sjmmv	{ REFCLK_NONE,		"unspecified type (0)",
15259208Sjmmv	  "UNKNOWN" },
16259208Sjmmv	{ REFCLK_LOCALCLOCK,	"Undisciplined local clock (1)",
17259208Sjmmv	  "LOCAL" },
18259208Sjmmv	{ REFCLK_GPS_TRAK,	"TRAK 8810 GPS Receiver (2)",
19259208Sjmmv	  "GPS_TRAK" },
20259208Sjmmv	{ REFCLK_WWV_PST,	"PSTI/Traconex WWV/WWVH Receiver (3)",
21259208Sjmmv	  "WWV_PST" },
22259208Sjmmv	{ REFCLK_SPECTRACOM,	"Spectracom (generic) Receivers (4)",
23259208Sjmmv	  "SPECTRACOM" },
24259208Sjmmv	{ REFCLK_TRUETIME,	"TrueTime (generic) Receivers (5)",
25262852Sjmmv	  "TRUETIME" },
26259208Sjmmv	{ REFCLK_IRIG_AUDIO,	"IRIG Audio Decoder (6)",
27259208Sjmmv	  "IRIG_AUDIO" },
28262852Sjmmv	{ REFCLK_CHU_AUDIO,	"CHU Audio Demodulator/Decoder (7)",
29292812Sngie	  "CHU_AUDIO" },
30262852Sjmmv	{ REFCLK_PARSE,		"Generic reference clock driver (8)",
31259208Sjmmv	  "GENERIC" },
32259208Sjmmv	{ REFCLK_GPS_MX4200,	"Magnavox MX4200 GPS Receiver (9)",
33259208Sjmmv	  "GPS_MX4200" },
34259208Sjmmv	{ REFCLK_GPS_AS2201,	"Austron 2201A GPS Receiver (10)",
35259208Sjmmv	  "GPS_AS2201" },
36259208Sjmmv	{ REFCLK_GPS_ARBITER,	"Arbiter 1088A/B GPS Receiver (11)",
37259208Sjmmv	  "GPS_ARBITER" },
38259208Sjmmv	{ REFCLK_IRIG_TPRO,	"KSI/Odetics TPRO/S IRIG Interface (12)",
39259208Sjmmv	  "IRIG_TPRO" },
40259208Sjmmv	{ REFCLK_ATOM_LEITCH,	"Leitch CSD 5300 Master Clock Controller (13)",
41259208Sjmmv	  "ATOM_LEITCH" },
42259208Sjmmv	{ REFCLK_MSF_EES,	"EES M201 MSF Receiver (14)",
43259208Sjmmv	  "MSF_EES" },
44259208Sjmmv	{ REFCLK_NONE,		"not used (15)",
45259208Sjmmv	  "NOT_USED" },
46259208Sjmmv	{ REFCLK_IRIG_BANCOMM,	"Bancomm GPS/IRIG Receiver (16)",
47259208Sjmmv	  "GPS_BANC" },
48259208Sjmmv	{ REFCLK_GPS_DATUM,	"Datum Precision Time System (17)",
49259208Sjmmv	  "GPS_DATUM" },
50259208Sjmmv	{ REFCLK_ACTS,		"Automated Computer Time Service (18)",
51259208Sjmmv	  "ACTS_MODEM" },
52259208Sjmmv	{ REFCLK_WWV_HEATH,	"Heath WWV/WWVH Receiver (19)",
53262852Sjmmv	  "WWV_HEATH" },
54262852Sjmmv	{ REFCLK_GPS_NMEA,	"Generic NMEA GPS Receiver (20)",
55262852Sjmmv	  "GPS_NMEA" },
56262852Sjmmv	{ REFCLK_GPS_VME,	"TrueTime GPS-VME Interface (21)",
57262852Sjmmv	  "GPS_VME" },
58262852Sjmmv	{ REFCLK_ATOM_PPS,	"PPS Clock Discipline (22)",
59262852Sjmmv	  "PPS" },
60262852Sjmmv	{ REFCLK_NONE,		"not used (23)",
61262852Sjmmv	  "NOT_USED" },
62262852Sjmmv	{ REFCLK_NONE,		"not used (24)",
63262852Sjmmv	  "NOT_USED" },
64262852Sjmmv	{ REFCLK_NONE,		"not used (25)",
65262852Sjmmv	  "NOT_USED" },
66262852Sjmmv	{ REFCLK_GPS_HP,	"HP 58503A GPS Time & Frequency Receiver (26)",
67262852Sjmmv	  "GPS_HP" },
68262852Sjmmv	{ REFCLK_ARCRON_MSF,	"ARCRON MSF (and DCF77) Receiver (27)",
69271298Sngie	  "MSF_ARCRON" },
70262852Sjmmv	{ REFCLK_SHM,		"Clock attached thru shared Memory (28)",
71262852Sjmmv	  "SHM" },
72262852Sjmmv	{ REFCLK_PALISADE,	"Trimble Navigation Palisade GPS (29)",
73262852Sjmmv	  "GPS_PALISADE" },
74262852Sjmmv	{ REFCLK_ONCORE,	"Motorola UT Oncore GPS (30)",
75262852Sjmmv	  "GPS_ONCORE" },
76259208Sjmmv	{ REFCLK_GPS_JUPITER,	"Rockwell Jupiter GPS (31)",
77259208Sjmmv	  "GPS_JUPITER" },
78259208Sjmmv	{ REFCLK_CHRONOLOG,	"Chrono-log K (32)",
79259208Sjmmv	  "CHRONOLOG" },
80259208Sjmmv	{ REFCLK_DUMBCLOCK,	"Dumb generic hh:mm:ss local clock (33)",
81259208Sjmmv	  "DUMBCLOCK" },
82259208Sjmmv	{ REFCLK_ULINK,		"Ultralink M320 WWVB receiver (34)",
83259208Sjmmv	  "ULINK_M320"},
84259208Sjmmv	{ REFCLK_PCF,		"Conrad parallel port radio clock (35)",
85259208Sjmmv	  "PCF"},
86259208Sjmmv	{ REFCLK_WWV_AUDIO,	"WWV/H Audio Demodulator/Decoder (36)",
87259208Sjmmv	  "WWV_AUDIO"},
88259208Sjmmv	{ REFCLK_FG,		"Forum Graphic GPS Dating Station (37)",
89276423Sngie	  "GPS_FG"},
90276423Sngie	{ REFCLK_HOPF_SERIAL,	"hopf Elektronic serial line receiver (38)",
91276423Sngie	  "HOPF_S"},
92259208Sjmmv	{ REFCLK_HOPF_PCI,	"hopf Elektronic PCI receiver (39)",
93276423Sngie	  "HOPF_P"},
94259208Sjmmv	{ REFCLK_JJY,		"JJY receiver (40)",
95259208Sjmmv	  "JJY"},
96259208Sjmmv	{ REFCLK_TT560,		"TrueTime 560 IRIG-B decoder (41)",
97259208Sjmmv	  "TT_IRIG"},
98	{ REFCLK_ZYFER,		"Zyfer GPStarplus receiver (42)",
99	  "GPS_ZYFER" },
100	{ REFCLK_RIPENCC,	"RIPE NCC Trimble driver (43)",
101	  "GPS_RIPENCC" },
102	{ REFCLK_NEOCLOCK4X,	"NeoClock4X DCF77 / TDF receiver (44)",
103	  "NEOCLK4X"},
104        { REFCLK_TSYNCPCI,    "Spectracom TSYNC PCI timing board (45)",
105          "PCI_TSYNC"},
106	{ REFCLK_GPSDJSON,	"GPSD JSON socket (46)",
107	  "GPSD_JSON"},
108	{ -1,			"", "" }
109};
110
111const char *
112clockname(
113	int num
114	)
115{
116	register struct clktype *clk;
117
118	for (clk = clktypes; clk->code != -1; clk++) {
119		if (num == clk->code)
120			return (clk->abbrev);
121	}
122	return (NULL);
123}
124