HiJack could also parse TSIP. But I think the gpsd-like route is better.

Why not have the equivalent of struct gpsdata that can be marshalled and unmarshalled and read it on request through a socket?

The thing I'm wondering is if you'll scare away further third party authors with mmap...

Of course, it may be for this application that you and I will be on the only third party authors, and I guess it's safe that neither of us care.