Subversion Repositories public

Compare Revisions

Ignore whitespace Rev 245 → Rev 246

/sportwatcher/trunk/libgarmin/pack.c
34,6 → 34,9
static void
garmin_pack_d100 ( D100 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTSTR(wpt->ident);
PUTPOS(wpt->posn);
SKIP(4);
48,6 → 51,9
static void
garmin_pack_d101 ( D101 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTSTR(wpt->ident);
PUTPOS(wpt->posn);
SKIP(4);
64,6 → 70,9
static void
garmin_pack_d102 ( D102 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTSTR(wpt->ident);
PUTPOS(wpt->posn);
SKIP(4);
80,6 → 89,9
static void
garmin_pack_d103 ( D103 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTSTR(wpt->ident);
PUTPOS(wpt->posn);
SKIP(4);
96,6 → 108,9
static void
garmin_pack_d104 ( D104 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTSTR(wpt->ident);
PUTPOS(wpt->posn);
SKIP(4);
113,6 → 128,9
static void
garmin_pack_d105 ( D105 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTPOS(wpt->posn);
PUTU16(wpt->smbl);
PUTVST(wpt->wpt_ident);
126,6 → 144,9
static void
garmin_pack_d106 ( D106 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTU8(wpt->wpt_class);
PUTSTR(wpt->subclass);
PUTPOS(wpt->posn);
142,6 → 163,9
static void
garmin_pack_d107 ( D107 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTSTR(wpt->ident);
PUTPOS(wpt->posn);
SKIP(4);
160,6 → 184,9
static void
garmin_pack_d108 ( D108 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTU8(wpt->wpt_class);
PUTU8(wpt->color);
PUTU8(wpt->dspl);
188,6 → 215,9
static void
garmin_pack_d109 ( D109 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTU8(wpt->dtyp);
PUTU8(wpt->wpt_class);
PUTU8(wpt->dspl_color);
217,6 → 247,9
static void
garmin_pack_d110 ( D110 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTU8(wpt->dtyp);
PUTU8(wpt->wpt_class);
PUTU8(wpt->dspl_color);
249,6 → 282,9
static void
garmin_pack_d120 ( D120 * cat, uint8 ** pos )
{
if (!cat || !pos)
return;
 
PUTSTR(cat->name);
}
 
260,6 → 296,9
static void
garmin_pack_d150 ( D150 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTSTR(wpt->ident);
PUTSTR(wpt->cc);
PUTU8(wpt->wpt_class);
279,6 → 318,9
static void
garmin_pack_d151 ( D151 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTSTR(wpt->ident);
PUTPOS(wpt->posn);
SKIP(4);
301,6 → 343,9
static void
garmin_pack_d152 ( D152 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTSTR(wpt->ident);
PUTPOS(wpt->posn);
SKIP(4);
323,6 → 368,9
static void
garmin_pack_d154 ( D154 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTSTR(wpt->ident);
PUTPOS(wpt->posn);
SKIP(4);
346,6 → 394,9
static void
garmin_pack_d155 ( D155 * wpt, uint8 ** pos )
{
if (!wpt || !pos)
return;
 
PUTSTR(wpt->ident);
PUTPOS(wpt->posn);
SKIP(4);
370,6 → 421,9
static void
garmin_pack_d200 ( D200 * hdr, uint8 ** pos )
{
if (!hdr)
return;
 
PUTU8(*hdr);
}
 
381,6 → 435,9
static void
garmin_pack_d201 ( D201 * hdr, uint8 ** pos )
{
if (!hdr || !pos)
return;
 
PUTU8(hdr->nmbr);
PUTSTR(hdr->cmnt);
}
393,6 → 450,9
static void
garmin_pack_d202 ( D202 * hdr, uint8 ** pos )
{
if (!hdr || !pos)
return;
 
PUTVST(hdr->rte_ident);
}
 
404,6 → 464,9
static void
garmin_pack_d210 ( D210 * link, uint8 ** pos )
{
if (!link || !pos)
return;
 
PUTU16(link->class);
PUTSTR(link->subclass);
PUTVST(link->ident);
417,6 → 480,9
static void
garmin_pack_d300 ( D300 * point, uint8 ** pos )
{
if (!point || !pos)
return;
 
PUTPOS(point->posn);
PUTU32(point->time);
PUTU8(point->new_trk);
430,6 → 496,9
static void
garmin_pack_d301 ( D301 * point, uint8 ** pos )
{
if (!point || !pos)
return;
 
PUTPOS(point->posn);
PUTU32(point->time);
PUTF32(point->alt);
445,6 → 514,9
static void
garmin_pack_d302 ( D302 * point, uint8 ** pos )
{
if (!point || !pos)
return;
 
PUTPOS(point->posn);
PUTU32(point->time);
PUTF32(point->alt);
461,6 → 533,9
static void
garmin_pack_d303 ( D303 * point, uint8 ** pos )
{
if (!point || !pos)
return;
 
PUTPOS(point->posn);
PUTU32(point->time);
PUTF32(point->alt);
475,6 → 550,9
static void
garmin_pack_d304 ( D304 * point, uint8 ** pos )
{
if (!point || !pos)
return;
 
PUTPOS(point->posn);
PUTU32(point->time);
PUTF32(point->alt);
492,6 → 570,9
static void
garmin_pack_d310 ( D310 * hdr, uint8 ** pos )
{
if (!hdr || !pos)
return;
 
PUTU8(hdr->dspl);
PUTU8(hdr->color);
PUTVST(hdr->trk_ident);
505,6 → 586,9
static void
garmin_pack_d311 ( D311 * hdr, uint8 ** pos )
{
if (!hdr)
return;
 
PUTU16(hdr->index);
}
 
516,6 → 600,9
static void
garmin_pack_d312 ( D312 * hdr, uint8 ** pos )
{
if (!hdr)
return;
 
PUTU8(hdr->dspl);
PUTU8(hdr->color);
PUTVST(hdr->trk_ident);
529,6 → 616,9
static void
garmin_pack_d400 ( D400 * prx, uint8 ** pos )
{
if (!prx)
return;
 
garmin_pack_d100(&prx->wpt,pos);
SKIP(sizeof(D100));
PUTF32(prx->dst);
542,6 → 632,9
static void
garmin_pack_d403 ( D403 * prx, uint8 ** pos )
{
if (!prx)
return;
 
garmin_pack_d103(&prx->wpt,pos);
SKIP(sizeof(D103));
PUTF32(prx->dst);
555,6 → 648,9
static void
garmin_pack_d450 ( D450 * prx, uint8 ** pos )
{
if (!prx)
return;
 
PUTU32(prx->idx);
garmin_pack_d150(&prx->wpt,pos);
SKIP(sizeof(D150));
569,6 → 665,9
static void
garmin_pack_d500 ( D500 * alm, uint8 ** pos )
{
if (!alm)
return;
 
PUTU16(alm->wn);
PUTF32(alm->toa);
PUTF32(alm->af0);
590,6 → 689,9
static void
garmin_pack_d501 ( D501 * alm, uint8 ** pos )
{
if (!alm)
return;
 
PUTU16(alm->wn);
PUTF32(alm->toa);
PUTF32(alm->af0);
612,6 → 714,9
static void
garmin_pack_d550 ( D550 * alm, uint8 ** pos )
{
if (!alm)
return;
 
PUTU8(alm->svid);
PUTU16(alm->wn);
PUTF32(alm->toa);
634,6 → 739,9
static void
garmin_pack_d551 ( D551 * alm, uint8 ** pos )
{
if (!alm)
return;
 
PUTU8(alm->svid);
PUTU16(alm->wn);
PUTF32(alm->toa);
657,6 → 765,9
static void
garmin_pack_d600 ( D600 * dt, uint8 ** pos )
{
if (!dt)
return;
 
PUTU8(dt->month);
PUTU8(dt->day);
PUTU16(dt->year);
673,6 → 784,9
static void
garmin_pack_d650 ( D650 * fbr, uint8 ** pos )
{
if (!fbr)
return;
 
PUTU32(fbr->takeoff_time);
PUTU32(fbr->landing_time);
PUTPOS(fbr->takeoff_posn);
709,6 → 823,9
static void
garmin_pack_d800 ( D800 * pvt, uint8 ** pos )
{
if (!pvt)
return;
 
PUTF32(pvt->alt);
PUTF32(pvt->epe);
PUTF32(pvt->eph);
732,6 → 849,9
static void
garmin_pack_d906 ( D906 * lap, uint8 ** pos )
{
if (!lap)
return;
 
PUTU32(lap->start_time);
PUTU32(lap->total_time);
PUTF32(lap->total_distance);
753,6 → 873,9
static void
garmin_pack_d1000 ( D1000 * run, uint8 ** pos )
{
if (!run)
return;
 
PUTU32(run->track_index);
PUTU32(run->first_lap_index);
PUTU32(run->last_lap_index);
772,6 → 895,9
static void
garmin_pack_d1001 ( D1001 * lap, uint8 ** pos )
{
if (!lap)
return;
 
PUTU32(lap->index);
PUTU32(lap->start_time);
PUTU32(lap->total_time);
795,6 → 921,9
{
int i;
 
if (!wkt)
return;
 
PUTU32(wkt->num_valid_steps);
for ( i = 0; i < 20; i++ ) {
PUTSTR(wkt->steps[i].custom_name);
819,6 → 948,9
static void
garmin_pack_d1003 ( D1003 * occ, uint8 ** pos )
{
if (!occ)
return;
 
PUTSTR(occ->workout_name);
PUTU32(occ->day);
}
834,6 → 966,9
int i;
int j;
 
if (!prof)
return;
 
for ( i = 0; i < 3; i++ ) {
for ( j = 0; j < 5; j++ ) {
PUTU8(prof->activities[i].heart_rate_zones[j].low_heart_rate);
864,6 → 999,9
static void
garmin_pack_d1005 ( D1005 * limits, uint8 ** pos )
{
if (!limits)
return;
 
PUTU32(limits->max_workouts);
PUTU32(limits->max_unscheduled_workouts);
PUTU32(limits->max_occurrences);
877,6 → 1015,9
static void
garmin_pack_d1006 ( D1006 * course, uint8 ** pos )
{
if (!course)
return;
 
PUTU16(course->index);
SKIP(2);
PUTSTR(course->course_name);
891,6 → 1032,9
static void
garmin_pack_d1007 ( D1007 * lap, uint8 ** pos )
{
if (!lap)
return;
 
PUTU16(lap->course_index);
PUTU16(lap->lap_index);
PUTU32(lap->total_time);
911,6 → 1055,9
static void
garmin_pack_d1008 ( D1008 * wkt, uint8 ** pos )
{
if (!wkt)
return;
 
garmin_pack_d1002((D1002 *)wkt,pos);
}
 
922,6 → 1069,9
static void
garmin_pack_d1009 ( D1009 * run, uint8 ** pos )
{
if (!run)
return;
 
PUTU16(run->track_index);
PUTU16(run->first_lap_index);
PUTU16(run->last_lap_index);
942,6 → 1092,9
static void
garmin_pack_d1010 ( D1010 * run, uint8 ** pos )
{
if (!run)
return;
 
PUTU32(run->track_index);
PUTU32(run->first_lap_index);
PUTU32(run->last_lap_index);
962,6 → 1115,9
static void
garmin_pack_d1011 ( D1011 * lap, uint8 ** pos )
{
if (!lap)
return;
 
PUTU16(lap->index);
SKIP(2);
PUTU32(lap->start_time);
986,6 → 1142,9
static void
garmin_pack_d1012 ( D1012 * point, uint8 ** pos )
{
if (!point)
return;
 
PUTSTR(point->name);
SKIP(1);
PUTU16(point->course_index);
1002,6 → 1161,9
static void
garmin_pack_d1013 ( D1013 * limits, uint8 ** pos )
{
if (!limits)
return;
 
PUTU32(limits->max_courses);
PUTU32(limits->max_course_laps);
PUTU32(limits->max_course_pnt);
1016,6 → 1178,9
static void
garmin_pack_d1015 ( D1015 * lap, uint8 ** pos )
{
if (!lap)
return;
 
PUTU16(lap->index);
SKIP(2);
PUTU32(lap->start_time);
1048,6 → 1213,9
{
garmin_list_node * node;
 
if (!list)
return;
 
PUTU32(list->id);
PUTU32(list->elements);
for ( node = list->head; node != NULL; node = node->next ) {
1260,7 → 1428,7
uint32 bytes = 0;
char hv0[256];
 
if ( garmin_data_size(data) == 0 ) return 0;
if ( !data || garmin_data_size(data) == 0 ) return 0;
 
/* OK, we must know how to serialize this data. Let's go for it. */