~ubuntu-branches/debian/sid/ntp/sid

« back to all changes in this revision

Viewing changes to ntpq/libntpq.c

  • Committer: Package Import Robot
  • Author(s): Peter Eisentraut
  • Date: 2012-02-27 13:55:56 UTC
  • mfrom: (1.2.12)
  • Revision ID: package-import@ubuntu.com-20120227135556-dkx4mkod5trl5bgt
Tags: 1:4.2.6.p5+dfsg-1
* New upstream release (closes: #644673)
* Updated instructions on generating autotools.patch
* Updated standards version

Show diffs side-by-side

added added

removed removed

Lines of Context:
405
405
 
406
406
int
407
407
ntpq_read_assoc_peervars(
408
 
        associd_t associd,
409
 
        char *resultbuf,
410
 
        int maxsize
 
408
        associd_t       associd,
 
409
        char *          resultbuf,
 
410
        int             maxsize
411
411
        )
412
412
{
413
 
        const char *datap;
414
 
        int res;
415
 
        int dsize;
416
 
        u_short rstatus;
417
 
        l_fp rec;
418
 
        l_fp ts;
419
 
        char value[NTPQ_BUFLEN];
420
 
 
 
413
        const char *    datap;
 
414
        int             res;
 
415
        int             dsize;
 
416
        u_short         rstatus;
421
417
 
422
418
        res = doquery(CTL_OP_READVAR, associd, 0, 0, NULL, &rstatus,
423
419
                      &dsize, &datap);
424
 
 
425
420
        if (res != 0)
426
421
                return 0;
427
 
 
428
 
        get_systime(&ts);
429
 
 
430
 
        if (dsize == 0) {
 
422
        if (dsize <= 0) {
431
423
                if (numhosts > 1)
432
424
                        fprintf(stderr, "server=%s ", currenthost);
433
425
                fprintf(stderr,
434
426
                        "***No information returned for association %d\n",
435
427
                        associd);
 
428
 
436
429
                return 0;
437
 
        } else {
438
 
                if ( dsize > maxsize ) 
439
 
                        dsize = maxsize;
440
 
                memcpy(resultbuf, datap, dsize);
441
 
                resultbuf[dsize] = '\0';
442
 
 
443
 
                ntpq_getvar(resultbuf, dsize, "rec", value,
444
 
                            sizeof(value));
445
 
 
446
 
                if (!decodets(value, &rec))
447
 
                        L_CLR(&rec);
448
 
 
449
 
                memcpy(resultbuf, value, maxsize);
450
 
                resultbuf[dsize] = '\0';
451
 
                dsize = strlen(resultbuf);
452
430
        }
 
431
        if (dsize > maxsize) 
 
432
                dsize = maxsize;
 
433
        memcpy(resultbuf, datap, dsize);
453
434
 
454
435
        return dsize;
455
436
}
483
464
size_t
484
465
ntpq_read_sysvars(
485
466
        char *  resultbuf,
486
 
        size_t  maxsize)
 
467
        size_t  maxsize
 
468
        )
487
469
{
488
470
        const char *    datap;
489
471
        int             res;
563
545
 *                      0 (zero) if an error occured and the sysvars
564
546
 *                      could not be read
565
547
 ****************************************************************************/
566
 
 int  ntpq_get_sysvars( void )
 
548
int
 
549
ntpq_get_sysvars(void)
567
550
{
568
 
        sysvarlen = ( ntpq_read_sysvars( sysvars, sizeof(sysvars )) );
569
 
        if ( sysvarlen <= 0 ) {
570
 
            return 0;
571
 
        } else {
572
 
            return 1;
573
 
        }
 
551
        sysvarlen = ntpq_read_sysvars(sysvars, sizeof(sysvars));
 
552
        if (sysvarlen <= 0)
 
553
                return 0;
 
554
        else
 
555
                return 1;
574
556
}
575
557
 
576
558
 
621
603
 *                      0 (zero) if an error occured and the variable set
622
604
 *                      could not be read
623
605
 ****************************************************************************/
624
 
 int  ntpq_get_assoc_peervars( associd_t associd )
 
606
int
 
607
ntpq_get_assoc_peervars(
 
608
        associd_t associd
 
609
        )
625
610
{
626
 
        peervarlen = ntpq_read_assoc_peervars( associd, peervars, 
627
 
                                               sizeof(peervars ) );
628
 
        if ( peervarlen <= 0 ) {
 
611
        peervarlen = ntpq_read_assoc_peervars(associd, peervars, 
 
612
                                              sizeof(peervars));
 
613
        if (peervarlen <= 0) {
629
614
                peervar_assoc = 0;
 
615
 
630
616
                return 0;
631
 
        } else {
632
 
                peervar_assoc = associd;
633
 
                return 1;
634
617
        }
 
618
        peervar_assoc = associd;
 
619
 
 
620
        return 1;
635
621
}
636
622
 
637
623
 
706
692
 *  NTP_CLOCKTYPE_MULTICAST Multicast server
707
693
 * 
708
694
 ****************************************************************************/
709
 
int ntpq_get_assoc_clocktype ( associd_t assoc_number )
 
695
int
 
696
ntpq_get_assoc_clocktype(
 
697
        int assoc_index
 
698
        )
710
699
{
711
 
        int type = 0;
712
 
        int i, rc = 0;
713
 
        sockaddr_u dum_store;
714
 
        char value[LENHOSTNAME];
715
 
        char resultbuf[1024];
 
700
        associd_t       associd;
 
701
        int             i;
 
702
        int             rc;
 
703
        sockaddr_u      dum_store;
 
704
        char            dstadr[LENHOSTNAME];
 
705
        char            resultbuf[NTPQ_BUFLEN];
716
706
 
717
 
        if ( assoc_number < 0 || assoc_number > numassoc )
 
707
        if (assoc_index < 0 || assoc_index >= numassoc)
718
708
                return -1;
719
 
        if ( peervar_assoc != assoc_cache[assoc_number].assid ) {
720
 
                i = ntpq_read_assoc_peervars(
721
 
                    assoc_cache[assoc_number].assid, resultbuf,
722
 
                    sizeof(resultbuf));
723
 
                if ( i <= 0 )
 
709
 
 
710
        associd = assoc_cache[assoc_index].assid;
 
711
        if (associd == peervar_assoc) {
 
712
                rc = ntpq_get_peervar("dstadr", dstadr, sizeof(dstadr));
 
713
        } else {
 
714
                i = ntpq_read_assoc_peervars(associd, resultbuf,
 
715
                                             sizeof(resultbuf));
 
716
                if (i <= 0)
724
717
                        return -1;
725
 
                rc = ntpq_getvar(resultbuf, i, "dstadr", value,
726
 
                                 LENHOSTNAME );
727
 
        } else {
728
 
                rc = ntpq_get_peervar("dstadr",value,LENHOSTNAME);
729
 
        }
730
 
 
731
 
        if (0 != rc && decodenetnum(value, &dum_store)) {
732
 
                type = ntpq_decodeaddrtype(&dum_store);
733
 
                return type;
734
 
        }
 
718
                rc = ntpq_getvar(resultbuf, i, "dstadr", dstadr,
 
719
                                 sizeof(dstadr));
 
720
        }
 
721
 
 
722
        if (0 != rc && decodenetnum(dstadr, &dum_store))
 
723
                return ntpq_decodeaddrtype(&dum_store);
 
724
 
735
725
        return -1;
736
726
}
737
727