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