How about an ioctl() interface in Hijack which lets user apps (in this case, GPSapp) register a /proc entry and another ioctl() for them to publish information to that /proc entry. Then Hijack stays out of the business of parsing NMEA/TSIP/whatever.

So gpsapp would do its normal parsing of whatever GPS data is there, and register a proc entry with something like

char szProcFilename[16] = "empeg_gps"
char szGpsBuffer[4096];

rc = ioctl(fd, EMPEG_HIJACK_PROCREGISTER, &szProcFilename);

// parse GPS data, put it into text buffer szGpsBuffer

rc = ioctl(fd, EMPEG_HIJACK_PROCPUBLISH, &szGpsBuffer);

.

Then any app can put an entry in /proc, and any other apps can go and read that data. Worthwhile or no?
_________________________
- Tony C
my empeg stuff