/* edit packet_states.h to add new packet types. */
 "GROUND_STATE",	/* we don't know what packet type to expect */

 "COMMENT_BODY",	/* pound comment for a test load */
 "COMMENT_RECOGNIZED",	/* comment recognized */
 "NMEA_DOLLAR",		/* we've seen first character of NMEA leader */

#ifdef NMEA0183_ENABLE
 "NMEA_BANG",		/* we've seen first character of an AIS message '!' */
 "NMEA_PUB_LEAD",	/* seen second character of NMEA G leader */
 "NMEA_VENDOR_LEAD",	/* seen second character of NMEA P leader */
 "NMEA_LEADER_END",	/* seen end char of NMEA leader, in body */
 "NMEA_PASHR_A",	/* grind through recognizing $PASHR */
 "NMEA_PASHR_S",	/* grind through recognizing $PASHR */
 "NMEA_PASHR_H",	/* grind through recognizing $PASHR */
 "NMEA_BINARY_BODY",	/* Ashtech-style binary packet body, skip until \r\n */
 "NMEA_BINARY_CR",	/* \r on end of Ashtech-style binary packet */
 "NMEA_BINARY_NL",	/* \n on end of Ashtech-style binary packet */
 "NMEA_CR",	   	/* seen terminating \r of NMEA packet */
 "NMEA_RECOGNIZED",	/* saw trailing \n of NMEA packet */

 "SIRF_ACK_LEAD_1",	/* seen A of possible SiRF Ack */
 "SIRF_ACK_LEAD_2",	/* seen c of possible SiRF Ack */
 "AIS_LEAD_1",		/* seen initial A of possible AIS message */
 "AIS_LEAD_2",		/* seen second I/B/N/X of possible AIS message */
 "AIS_LEAD_ALT1",	/* seen initial B of possible AIS message */
 "AIS_LEAD_ALT2",	/* seen second S of possible AIS message */
 "AIS_LEAD_ALT3",	/* seen initial S of possible AIS message */
 "AIS_LEAD_ALT4",	/* seen second A of possible AIS message */

 "SEATALK_LEAD_1",	/* SeaTalk/Garmin packet leader 'I' */
 "WEATHER_LEAD_1",	/* Weather instrument packet leader 'W' */
 "HEADCOMP_LEAD_1",	/* Heading/compass packet leader 'H' */
 "TURN_LEAD_1",		/* Turn indicator packet leader 'T' */
 "ECDIS_LEAD_1",	/* ECDIS packet leader 'E' */
 "SOUNDER_LEAD_1",	/* Depth sounder packet leader 'S' */
 "TRANSDUCER_LEAD_1",	/* Generic transducer packet leader 'Y' */
 "BEIDOU_LEAD_1",	/* Beidou leader */
 "QZSS_LEAD_1",		/* Quasi-Zenith Satellite System leader */
#endif /* NMEA0183_ENABLE */

 "DLE_LEADER",		/* we've seen the TSIP/EverMore leader (DLE) */

#ifdef TRIPMATE_ENABLE
 "ASTRAL_1",		/* ASTRAL leader A */
 "ASTRAL_2",	 	/* ASTRAL leader S */
 "ASTRAL_3",		/* ASTRAL leader T */
 "ASTRAL_4",		/* ASTRAL leader R */
 "ASTRAL_5",		/* ASTRAL leader A */
#endif /* TRIPMATE_ENABLE */

#ifdef EARTHMATE_ENABLE
 "EARTHA_1",		/* EARTHA leader E */
 "EARTHA_2",		/* EARTHA leader A */
 "EARTHA_3",		/* EARTHA leader R */
 "EARTHA_4",		/* EARTHA leader T */
 "EARTHA_5",		/* EARTHA leader H */
#endif /* EARTHMATE_ENABLE */

#if defined(SIRF_ENABLE) || defined(SKYTRAQ_ENABLE)
 "SIRF_LEADER_1",	/* seen first character of SiRF/Skytraq leader <0x0A> */
#endif /* SIRF_ENABLE || SKYTRAQ_ENABLE */
#ifdef SIRF_ENABLE
 "SIRF_LEADER_2",	/* seen second character of SiRF leader */
 "SIRF_LENGTH_1",	/* seen first byte of SiRF length */
 "SIRF_PAYLOAD",	/* we're in a SiRF payload part */
 "SIRF_DELIVERED",	/* saw last byte of SiRF payload/checksum */
 "SIRF_TRAILER_1",	/* saw first byte of SiRF trailer */
 "SIRF_RECOGNIZED",	/* saw second byte of SiRF trailer */
#endif /* SIRF_ENABLE */

#ifdef SKYTRAQ_ENABLE
   /* <0xA0,0xA1><Len><Message ID><Message Body><csum><0x0D,0x0A> */
   /* Len is two bytes, is the length of Message ID and Message Body */
   /* Skytraq leader 1 same as SIRF_LEADER_1 */
 "SKY_LEADER_2",	/* saw leader 2 <0xA1> */
 "SKY_LENGTH_1",	/* saw first byte of packet length */
 "SKY_LENGTH_2",	/* saw second byte of packet length */
 "SKY_PAYLOAD",		/* we're in a Skytraq payload */
 "SKY_DELIVERED",	/* saw last byte of Skytraq payload */
 "SKY_CSUM",		/* saw Skytraq checksum */
 "SKY_TRAILER_1",	/* saw first byte of Skytraq trailer <0x0D> */
 "SKY_RECOGNIZED",	/* found end of the Skytraq packet */
#endif /* SKYTRAQ_ENABLE */

#ifdef ZODIAC_ENABLE
 "ZODIAC_EXPECTED",	/* expecting Zodiac packet */
 "ZODIAC_LEADER_1",	/* saw leading 0xff */
 "ZODIAC_LEADER_2",	/* saw leading 0x81 */
 "ZODIAC_ID_1", 	/* saw first byte of ID */
 "ZODIAC_ID_2", 	/* saw second byte of ID */
 "ZODIAC_LENGTH_1",	/* saw first byte of Zodiac packet length */
 "ZODIAC_LENGTH_2",	/* saw second byte of Zodiac packet length */
 "ZODIAC_FLAGS_1", 	/* saw first byte of FLAGS */
 "ZODIAC_FLAGS_2", 	/* saw second byte of FLAGS */
 "ZODIAC_HSUM_1", 	/* saw first byte of Header sum */
 "ZODIAC_PAYLOAD",	/* we're in a Zodiac payload */
 "ZODIAC_RECOGNIZED",	/* found end of the Zodiac packet */
#endif /* ZODIAC_ENABLE */

#if defined(TNT_ENABLE) || defined(GARMINTXT_ENABLE) || defined(ONCORE_ENABLE)
 "AT1_LEADER",		/* saw True North status leader '@' */
			/* Garmin Simple Text starts with @ leader */
			/* Oncore starts with @ leader */
 "GTXT_RECOGNIZED",     /* */
#endif

#ifdef EVERMORE_ENABLE
 "EVERMORE_LEADER_1",	/* a DLE after having seen EverMore data */
 "EVERMORE_LEADER_2",	/* seen opening STX of EverMore packet */
 "EVERMORE_PAYLOAD",	/* in payload part of EverMore packet */
 "EVERMORE_PAYLOAD_DLE",/* DLE in payload part of EverMore packet */
 "EVERMORE_RECOGNIZED",	/* found end of EverMore packet */
#endif /* EVERMORE_ENABLE */

#ifdef ITRAX_ENABLE
 "ITALK_LEADER_1",	/* saw leading < of iTalk packet */
 "ITALK_LEADER_2",	/* saw leading ! of iTalk packet */
 "ITALK_LENGTH",	/* saw packet length */
 "ITALK_PAYLOAD",	/* in payload part of iTalk Packet */
 "ITALK_DELIVERED",	/* seen end of payload */
 "ITALK_TRAILER",	/* saw iTalk trailer byte */
 "ITALK_RECOGNIZED",	/* found end of the iTalk packet */
#endif /* ITRAX_ENABLE */

#ifdef NAVCOM_ENABLE
 "NAVCOM_EXPECTED",	/* expecting Navcom NCT packet */
 "NAVCOM_LEADER_1",	/* saw leading 0x02 */
 "NAVCOM_LEADER_2",	/* saw leading 0x99 */
 "NAVCOM_LEADER_3",	/* saw leading 0x66 */
 "NAVCOM_ID",   	/* saw message ID */
 "NAVCOM_LENGTH_1",	/* saw first byte of Navcom packet length */
 "NAVCOM_LENGTH_2",	/* saw second byte of Navcom packet length */
 "NAVCOM_PAYLOAD",	/* we're in a Navcom payload */
 "NAVCOM_CSUM", 	/* saw checksum */
 "NAVCOM_RECOGNIZED",	/* found end of the Navcom packet */
#endif /* NAVCOM_ENABLE */

#ifdef UBLOX_ENABLE
 "UBX_LEADER_1",        /* first constant leader byte found */
 "UBX_LEADER_2",        /* second constant leader byte found */
 "UBX_CLASS_ID",        /* classid read */
 "UBX_MESSAGE_ID",      /* message id read */
 "UBX_LENGTH_1",        /* first length byte read (le) */
 "UBX_LENGTH_2",        /* second length byte read (le) */
 "UBX_PAYLOAD",         /* payload eating */
 "UBX_CHECKSUM_A",      /* checksum A byte (tcp checksum) */
 "UBX_RECOGNIZED",      /* this is also UBX_CHECKSUM_B */
#endif

#ifdef SUPERSTAR2_ENABLE
 "SUPERSTAR2_LEADER",	/* leading SOH */
 "SUPERSTAR2_ID1",	/* message type */
 "SUPERSTAR2_ID2",	/* message type xor 0xff */
 "SUPERSTAR2_PAYLOAD",	/* length of the actual packet data */
 "SUPERSTAR2_CKSUM1",
 "SUPERSTAR2_CKSUM2",
 "SUPERSTAR2_RECOGNIZED",
#endif

#ifdef ONCORE_ENABLE
 "ONCORE_AT2",		/* second @ */
 "ONCORE_ID1",		/* first character of command type */
 "ONCORE_PAYLOAD",	/* payload eating */
 "ONCORE_CHECKSUM",	/* checksum byte */
 "ONCORE_CR",		/* closing CR */
 "ONCORE_RECOGNIZED",	/* closing LF */
#endif

#ifdef GEOSTAR_ENABLE
 "GEOSTAR_LEADER_1",        /* first constant leader byte found */
 "GEOSTAR_LEADER_2",        /* second constant leader byte found */
 "GEOSTAR_LEADER_3",        /* third constant leader byte found */
 "GEOSTAR_LEADER_4",        /* forth constant leader byte found */
 "GEOSTAR_MESSAGE_ID_1",    /* first message id read */
 "GEOSTAR_MESSAGE_ID_2",    /* second message id read */
 "GEOSTAR_LENGTH_1",        /* first length byte read */
 "GEOSTAR_LENGTH_2",        /* second length byte read */
 "GEOSTAR_PAYLOAD",         /* payload eating */
 "GEOSTAR_CHECKSUM_A",      /* checksum A byte (xor checksum) */
 "GEOSTAR_CHECKSUM_B",      /* checksum B byte (xor checksum) */
 "GEOSTAR_CHECKSUM_C",      /* checksum C byte (xor checksum) */
 "GEOSTAR_RECOGNIZED",      /* this is also GEOSTAR_CHECKSUM_D */
#endif

#ifdef GREIS_ENABLE
 "GREIS_EXPECTED",          /* expecting GREIS packet */
 "GREIS_REPLY_1",           /* saw first byte of a reply */
 "GREIS_REPLY_2",           /* saw second byte of a reply */
 "GREIS_ID_1",              /* saw first byte of ID */
 "GREIS_ID_2",              /* saw second byte of ID */
 "GREIS_LENGTH_1",          /* saw first length byte */
 "GREIS_LENGTH_2",          /* saw second length byte */
 "GREIS_PAYLOAD",           /* we're in a GREIS payload */
 "GREIS_RECOGNIZED",        /* found end of the GREIS packet */
#endif

/*
 * Packet formats without checksums start here.  We list them last so
 * that if a format with a conflicting structure *and* a checksum can
 * be recognized, that will be preferred.
 */

#if defined(TSIP_ENABLE) || defined(GARMIN_ENABLE)
 "TSIP_LEADER",		/* a DLE after having seen TSIP data */
 "TSIP_PAYLOAD",	/* we're in TSIP payload */
 "TSIP_DLE",		/* we've seen a DLE in TSIP payload */
 "TSIP_RECOGNIZED",	/* found end of the TSIP packet */
 "GARMIN_RECOGNIZED",	/* found end of Garmin packet */
#endif /* TSIP_ENABLE GARMIN_ENABLE */

#ifdef RTCM104V2_ENABLE
 "RTCM2_SYNC_STATE",	/* we have sync lock */
 "RTCM2_SKIP_STATE",	/* we have sync lock, but this character is bad */
 "RTCM2_RECOGNIZED",	/* we have an RTCM packet */
#endif /* RTCM104V2_ENABLE */

#ifdef RTCM104V3_ENABLE
 "RTCM3_LEADER_1",      /* constant leader byte found */
 "RTCM3_LEADER_2",      /* second leader byte found (high 6 bits zero) */
 "RTCM3_PAYLOAD",       /* gathering payload */
 "RTCM3_RECOGNIZED",    /* RTCM3 packet recognized */
#endif

#ifdef PASSTHROUGH_ENABLE
 "JSON_LEADER",         /* JSON leading { found */
 "JSON_STRINGLITERAL",  /* start of JSON string literal seen */
 "JSON_STRING_SOLIDUS", /* backslash in string */
 "JSON_END_ATTRIBUTE",  /* end of JSON attribute */
 "JSON_EXPECT_VALUE",   /* just after colon */
 "JSON_END_VALUE",      /* end of JSON value */
 "JSON_NUMBER",         /* inside a JSON numeric literal */
 "JSON_SPECIAL",        /* inside a JSON special literal (true,false,null) */
 "JSON_RECOGNIZED",     /* JSON packet recognized */
#endif

#ifdef STASH_ENABLE
 "STASH_RECOGNIZED",    /* stashable prefix recognized */
#endif

/* end of packet_states.h */
