# Copyright 1999-2013 Gentoo Foundation.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/desc/gpsd_protocols.desc,v 1.3 2013/11/23 04:26:30 vapier Exp $

# This file contains descriptions of possible protocols for gpsd package.
# Keep it sorted. :)

aivdm - AIVDM protocol support
ashtech - Ashtech protocol support
clientdebug - Client debugging protocol support
earthmate - Earthmate protocol support
evermore - EverMore protocol support
fury - Jackson Labs Fury and Firefly support
fv18 - FV-18 protocol support
garmin - Garmin protocol support
garmintxt - Garmin Simple Text protocol support
geostar - Geostar Protocol support
gpsclock - GPSclock protocol support
itrax - iTrax protocol support
mtk3301 - MTK-3301 protocol support
navcom - Navcom protocol support
nmea - NMEA protocol support
nmea2000 - NMEA2000/CAN support
ntrip - NTRIP protocol support
oceanserver - OceanServer protocol support
oldstyle - Oldstyle (pre-JSON) protocol support
oncore - OnCore protocol support
rtcm104v2 - RTCM104V2 protocol support
rtcm104v3 - RTCM104V3 protocol support
sirf - SiRF protocol support
superstar2 - SuperStarII protocol support
timing - Timing protocol support
tnt - True North protocol support
tripmate - Tripmate protocol support
tsip - Trimble TSIP protocol support
ublox - U-Blox Protocol support
ubx - UBX protocol support
