diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2009-03-14 14:25:56 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2009-03-14 14:25:56 +0000 |
commit | 4ca780c3718e2f69436f6e1ed0cc002a4be9b67b (patch) | |
tree | d8b2c6224d267dffd30e8e6ec8aff817a79a5c34 /gpsdecode.c | |
parent | f91403e499e276720f8527f6a4bfce011465e36f (diff) | |
download | gpsd-4ca780c3718e2f69436f6e1ed0cc002a4be9b67b.tar.gz |
Dump ship type in text.
Diffstat (limited to 'gpsdecode.c')
-rw-r--r-- | gpsdecode.c | 109 |
1 files changed, 106 insertions, 3 deletions
diff --git a/gpsdecode.c b/gpsdecode.c index 6986855a..523490d5 100644 --- a/gpsdecode.c +++ b/gpsdecode.c @@ -59,6 +59,109 @@ static void aivdm_dump(struct ais_t *ais, FILE *fp) "Galileo", }; + static char *type_legends[100] = { + "Not available", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Reserved for future use", + "Wing in ground (WIG), all ships of this type", + "Wing in ground (WIG), Hazardous category A", + "Wing in ground (WIG), Hazardous category B", + "Wing in ground (WIG), Hazardous category C", + "Wing in ground (WIG), Hazardous category D", + "Wing in ground (WIG), Reserved for future use", + "Wing in ground (WIG), Reserved for future use", + "Wing in ground (WIG), Reserved for future use", + "Wing in ground (WIG), Reserved for future use", + "Wing in ground (WIG), Reserved for future use", + "Fishing", + "Towing", + "Towing: length exceeds 200m or breadth exceeds 25m", + "Dredging or underwater ops", + "Diving ops", + "Military ops", + "Sailing", + "Pleasure Craft", + "Reserved", + "Reserved", + "High speed craft (HSC), all ships of this type", + "High speed craft (HSC), Hazardous category A", + "High speed craft (HSC), Hazardous category B", + "High speed craft (HSC), Hazardous category C", + "High speed craft (HSC), Hazardous category D", + "High speed craft (HSC), Reserved for future use", + "High speed craft (HSC), Reserved for future use", + "High speed craft (HSC), Reserved for future use", + "High speed craft (HSC), Reserved for future use", + "High speed craft (HSC), No additional information", + "Pilot Vessel", + "Search and Rescue vessel", + "Tug", + "Port Tender", + "Anti-pollution equipment", + "Law Enforcement", + "Spare - Local Vessel", + "Spare - Local Vessel", + "Medical Transport", + "Ship according to RR Resolution No. 18", + "Passenger, all ships of this type", + "Passenger, Hazardous category A", + "Passenger, Hazardous category B", + "Passenger, Hazardous category C", + "Passenger, Hazardous category D", + "Passenger, Reserved for future use", + "Passenger, Reserved for future use", + "Passenger, Reserved for future use", + "Passenger, Reserved for future use", + "Passenger, No additional information", + "Cargo, all ships of this type", + "Cargo, Hazardous category A", + "Cargo, Hazardous category B", + "Cargo, Hazardous category C", + "Cargo, Hazardous category D", + "Cargo, Reserved for future use", + "Cargo, Reserved for future use", + "Cargo, Reserved for future use", + "Cargo, Reserved for future use", + "Cargo, No additional information", + "Tanker, all ships of this type", + "Tanker, Hazardous category A", + "Tanker, Hazardous category B", + "Tanker, Hazardous category C", + "Tanker, Hazardous category D", + "Tanker, Reserved for future use", + "Tanker, Reserved for future use", + "Tanker, Reserved for future use", + "Tanker, Reserved for future use", + "Tanker, No additional information", + "Other Type, all ships of this type", + "Other Type, Hazardous category A", + "Other Type, Hazardous category B", + "Other Type, Hazardous category C", + "Other Type, Hazardous category D", + "Other Type, Reserved for future use", + "Other Type, Reserved for future use", + "Other Type, Reserved for future use", + "Other Type, Reserved for future use", + "Other Type, no additional information", + }; + if (labeled) (void)fprintf(fp, "type=%d,ri=%d,MMSI=%09d,", ais->id, ais->ri, ais->mmsi); else @@ -176,8 +279,8 @@ static void aivdm_dump(struct ais_t *ais, FILE *fp) case 5: /* Ship static and voyage related data */ #define TYPE5_UNSCALED_LABELED "ID=%u,AIS=%u,callsign=%s,name=%s,type=%u,bow=%u,stern=%u,port=%u,starboard=%u,epsd=%u,eta=%u:%uT%u:%uZ,draught=%u,dest=%s,dte=%u,sp=%u\n" #define TYPE5_UNSCALED_UNLABELED "%u,%u,%s,%s,%u,%u,%u,%u,%u,%u,%u:%uT%u:%uZ,%u,%s,%u,%u\n" -#define TYPE5_SCALED_LABELED "ID=%u,AIS=%u,callsign=%s,name=%s,type=%u,bow=%u,stern=%u,port=%u,starboard=%u,epsd=%s:%u,eta=%u:%uT%u:%uZ,dest=%s,dte=%u,sp=%u\n" -#define TYPE5_SCALED_UNLABELED "%u,%u,%s,%s,%u,%u,%u,%u,%u,%s,%u:%uT%u:%uZ,%u,%s,%u,%u\n" +#define TYPE5_SCALED_LABELED "ID=%u,AIS=%u,callsign=%s,name=%s,type=%s,bow=%u,stern=%u,port=%u,starboard=%u,epsd=%s:%u,eta=%u:%uT%u:%uZ,dest=%s,dte=%u,sp=%u\n" +#define TYPE5_SCALED_UNLABELED "%u,%u,%s,%s,%s,%u,%u,%u,%u,%s,%u:%uT%u:%uZ,%u,%s,%u,%u\n" if (scaled) { (void)fprintf(fp, (labeled ? TYPE5_SCALED_LABELED : TYPE5_SCALED_UNLABELED), @@ -185,7 +288,7 @@ static void aivdm_dump(struct ais_t *ais, FILE *fp) ais->type5.ais_version, ais->type5.callsign, ais->type5.vessel_name, - ais->type5.ship_type, + type_legends[ais->type5.ship_type], ais->type5.to_bow, ais->type5.to_stern, ais->type5.to_port, |