1 /* This code is generated. Do not hand-hack it! */
2
3 /*
4 * Also, beware that it is something of a CPU hog when called on every packet.
5 * Try to write guards so it is only called at higher log levels.
6 */
7
8 #include "gpsd_config.h" /* must be before all includes */
9
10 #include <stdio.h>
11 #include <string.h>
12
13 #include "gpsd.h"
14
gps_maskdump(gps_mask_t set)15 const char *gps_maskdump(gps_mask_t set)
16 {
17 static char buf[226];
18 const struct {
19 gps_mask_t mask;
20 const char *name;
21 } *sp, names[] = {
22 {ONLINE_SET, "ONLINE"},
23 {TIME_SET, "TIME"},
24 {TIMERR_SET, "TIMERR"},
25 {LATLON_SET, "LATLON"},
26 {ALTITUDE_SET, "ALTITUDE"},
27 {SPEED_SET, "SPEED"},
28 {TRACK_SET, "TRACK"},
29 {CLIMB_SET, "CLIMB"},
30 {STATUS_SET, "STATUS"},
31 {MODE_SET, "MODE"},
32 {DOP_SET, "DOP"},
33 {HERR_SET, "HERR"},
34 {VERR_SET, "VERR"},
35 {ATTITUDE_SET, "ATTITUDE"},
36 {SATELLITE_SET, "SATELLITE"},
37 {SPEEDERR_SET, "SPEEDERR"},
38 {TRACKERR_SET, "TRACKERR"},
39 {CLIMBERR_SET, "CLIMBERR"},
40 {DEVICE_SET, "DEVICE"},
41 {DEVICELIST_SET, "DEVICELIST"},
42 {DEVICEID_SET, "DEVICEID"},
43 {RTCM2_SET, "RTCM2"},
44 {RTCM3_SET, "RTCM3"},
45 {AIS_SET, "AIS"},
46 {PACKET_SET, "PACKET"},
47 {SUBFRAME_SET, "SUBFRAME"},
48 {GST_SET, "GST"},
49 {VERSION_SET, "VERSION"},
50 {POLICY_SET, "POLICY"},
51 {LOGMESSAGE_SET, "LOGMESSAGE"},
52 {ERROR_SET, "ERROR"},
53 {TOFF_SET, "TOFF"},
54 {PPS_SET, "PPS"},
55 {NAVDATA_SET, "NAVDATA"},
56 {OSCILLATOR_SET, "OSCILLATOR"},
57 {ECEF_SET, "ECEF"},
58 {VECEF_SET, "VECEF"},
59 {MAGNETIC_TRACK_SET, "MAGNETIC_TRACK"},
60 {RAW_SET, "RAW"},
61 {NED_SET, "NED"},
62 {VNED_SET, "VNED"},
63 {RAW_IS, "RAW"},
64 {USED_IS, "USED"},
65 {DRIVER_IS, "DRIVER"},
66 {CLEAR_IS, "CLEAR"},
67 {REPORT_IS, "REPORT"},
68 {NODATA_IS, "NODATA"},
69 {NTPTIME_IS, "NTPTIME"},
70 {PERR_IS, "PERR"},
71 {PASSTHROUGH_IS, "PASSTHROUGH"},
72 {EOF_IS, "EOF"},
73 {GOODTIME_IS, "GOODTIME"},
74 };
75
76 memset(buf, '\0', sizeof(buf));
77 buf[0] = '{';
78 for (sp = names; sp < names + sizeof(names)/sizeof(names[0]); sp++)
79 if ((set & sp->mask)!=0) {
80 (void)strlcat(buf, sp->name, sizeof(buf));
81 (void)strlcat(buf, "|", sizeof(buf));
82 }
83 if (buf[1] != '\0')
84 buf[strlen(buf)-1] = '\0';
85 (void)strlcat(buf, "}", sizeof(buf));
86 return buf;
87 }
88
89