| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: refclock_parse.c,v 1.11 2014/01/05 15:13:36 kardel Exp $ */ | | 1 | /* $NetBSD: refclock_parse.c,v 1.12 2014/01/07 02:10:49 joerg Exp $ */ |
2 | | | 2 | |
3 | /* | | 3 | /* |
4 | * /src/NTP/REPOSITORY/ntp4-dev/ntpd/refclock_parse.c,v 4.81 2009/05/01 10:15:29 kardel RELEASE_20090105_A | | 4 | * /src/NTP/REPOSITORY/ntp4-dev/ntpd/refclock_parse.c,v 4.81 2009/05/01 10:15:29 kardel RELEASE_20090105_A |
5 | * | | 5 | * |
6 | * refclock_parse.c,v 4.81 2009/05/01 10:15:29 kardel RELEASE_20090105_A | | 6 | * refclock_parse.c,v 4.81 2009/05/01 10:15:29 kardel RELEASE_20090105_A |
7 | * | | 7 | * |
8 | * generic reference clock driver for several DCF/GPS/MSF/... receivers | | 8 | * generic reference clock driver for several DCF/GPS/MSF/... receivers |
9 | * | | 9 | * |
10 | * PPS notes: | | 10 | * PPS notes: |
11 | * On systems that support PPSAPI (RFC2783) PPSAPI is the | | 11 | * On systems that support PPSAPI (RFC2783) PPSAPI is the |
12 | * preferred interface. | | 12 | * preferred interface. |
13 | * | | 13 | * |
14 | * Optionally make use of a STREAMS module for input processing where | | 14 | * Optionally make use of a STREAMS module for input processing where |
| @@ -2454,27 +2454,27 @@ init_iobinding( | | | @@ -2454,27 +2454,27 @@ init_iobinding( |
2454 | if ((*b->bd_init)(parse)) | | 2454 | if ((*b->bd_init)(parse)) |
2455 | { | | 2455 | { |
2456 | return b; | | 2456 | return b; |
2457 | } | | 2457 | } |
2458 | b++; | | 2458 | b++; |
2459 | } | | 2459 | } |
2460 | return (bind_t *)0; | | 2460 | return (bind_t *)0; |
2461 | } | | 2461 | } |
2462 | | | 2462 | |
2463 | /**=========================================================================== | | 2463 | /**=========================================================================== |
2464 | ** support routines | | 2464 | ** support routines |
2465 | **/ | | 2465 | **/ |
2466 | | | 2466 | |
2467 | static char * | | 2467 | static __printflike(4, 5) char * |
2468 | ap(char *buffer, size_t len, char *pos, const char *fmt, ...) | | 2468 | ap(char *buffer, size_t len, char *pos, const char *fmt, ...) |
2469 | { | | 2469 | { |
2470 | va_list va; | | 2470 | va_list va; |
2471 | int l; | | 2471 | int l; |
2472 | size_t rem = len - (pos - buffer); | | 2472 | size_t rem = len - (pos - buffer); |
2473 | | | 2473 | |
2474 | if (rem == 0) | | 2474 | if (rem == 0) |
2475 | return pos; | | 2475 | return pos; |
2476 | | | 2476 | |
2477 | va_start(va, fmt); | | 2477 | va_start(va, fmt); |
2478 | l = vsnprintf(pos, rem, fmt, va); | | 2478 | l = vsnprintf(pos, rem, fmt, va); |
2479 | va_end(va); | | 2479 | va_end(va); |
2480 | | | 2480 | |
| @@ -5542,48 +5542,48 @@ trimbletsip_message( | | | @@ -5542,48 +5542,48 @@ trimbletsip_message( |
5542 | "Excessive ref freq. error", | | 5542 | "Excessive ref freq. error", |
5543 | "<BIT 6>", | | 5543 | "<BIT 6>", |
5544 | "<BIT 7>" | | 5544 | "<BIT 7>" |
5545 | }; | | 5545 | }; |
5546 | | | 5546 | |
5547 | int i, bits; | | 5547 | int i, bits; |
5548 | | | 5548 | |
5549 | switch (mb(0) & 0xFF) | | 5549 | switch (mb(0) & 0xFF) |
5550 | { | | 5550 | { |
5551 | default: | | 5551 | default: |
5552 | t = ap(pbuffer, sizeof(pbuffer), t, "illegal value 0x%02x", mb(0) & 0xFF); | | 5552 | t = ap(pbuffer, sizeof(pbuffer), t, "illegal value 0x%02x", mb(0) & 0xFF); |
5553 | break; | | 5553 | break; |
5554 | case 0x00: | | 5554 | case 0x00: |
5555 | t = ap(pbuffer, sizeof(pbuffer), t, "doing position fixes", BUFFER_SIZE(pbuffer, t)); | | 5555 | t = ap(pbuffer, sizeof(pbuffer), t, "doing position fixes"); |
5556 | break; | | 5556 | break; |
5557 | case 0x01: | | 5557 | case 0x01: |
5558 | t = ap(pbuffer, sizeof(pbuffer), t, "no GPS time yet", BUFFER_SIZE(pbuffer, t)); | | 5558 | t = ap(pbuffer, sizeof(pbuffer), t, "no GPS time yet"); |
5559 | break; | | 5559 | break; |
5560 | case 0x03: | | 5560 | case 0x03: |
5561 | t = ap(pbuffer, sizeof(pbuffer), t, "PDOP too high", BUFFER_SIZE(pbuffer, t)); | | 5561 | t = ap(pbuffer, sizeof(pbuffer), t, "PDOP too high"); |
5562 | break; | | 5562 | break; |
5563 | case 0x08: | | 5563 | case 0x08: |
5564 | t = ap(pbuffer, sizeof(pbuffer), t, "no usable satellites", BUFFER_SIZE(pbuffer, t)); | | 5564 | t = ap(pbuffer, sizeof(pbuffer), t, "no usable satellites"); |
5565 | break; | | 5565 | break; |
5566 | case 0x09: | | 5566 | case 0x09: |
5567 | t = ap(pbuffer, sizeof(pbuffer), t, "only ONE usable satellite", BUFFER_SIZE(pbuffer, t)); | | 5567 | t = ap(pbuffer, sizeof(pbuffer), t, "only ONE usable satellite"); |
5568 | break; | | 5568 | break; |
5569 | case 0x0A: | | 5569 | case 0x0A: |
5570 | t = ap(pbuffer, sizeof(pbuffer), t, "only TWO usable satellites", BUFFER_SIZE(pbuffer, t)); | | 5570 | t = ap(pbuffer, sizeof(pbuffer), t, "only TWO usable satellites"); |
5571 | break; | | 5571 | break; |
5572 | case 0x0B: | | 5572 | case 0x0B: |
5573 | t = ap(pbuffer, sizeof(pbuffer), t, "only THREE usable satellites", BUFFER_SIZE(pbuffer, t)); | | 5573 | t = ap(pbuffer, sizeof(pbuffer), t, "only THREE usable satellites"); |
5574 | break; | | 5574 | break; |
5575 | case 0x0C: | | 5575 | case 0x0C: |
5576 | t = ap(pbuffer, sizeof(pbuffer), t, "the chosen satellite is unusable", BUFFER_SIZE(pbuffer, t)); | | 5576 | t = ap(pbuffer, sizeof(pbuffer), t, "the chosen satellite is unusable"); |
5577 | break; | | 5577 | break; |
5578 | } | | 5578 | } |
5579 | | | 5579 | |
5580 | bits = mb(1) & 0xFF; | | 5580 | bits = mb(1) & 0xFF; |
5581 | | | 5581 | |
5582 | for (i = 0; i < 8; i++) | | 5582 | for (i = 0; i < 8; i++) |
5583 | if (bits & (0x1<<i)) | | 5583 | if (bits & (0x1<<i)) |
5584 | { | | 5584 | { |
5585 | t = ap(pbuffer, sizeof(pbuffer), t, ", %s", msgs[i]); | | 5585 | t = ap(pbuffer, sizeof(pbuffer), t, ", %s", msgs[i]); |
5586 | } | | 5586 | } |
5587 | } | | 5587 | } |
5588 | break; | | 5588 | break; |
5589 | | | 5589 | |