Lines Matching full:up

88 /*	       Code clean up ( Remove unreachable codes ) in	      */
100 /* [Change] Split the start up routine into each JJY receivers. */
177 /* Set up by the function "jjy_start_xxxxxxxx" */
366 jjy_start, /* start up driver */
376 * Start up driver return code
441 …%d iTimestampCount=%d iLen=%d\n", sFunc, up->iProcessState, up->bLineError, up->iCommandSeq, up->i…
454 struct jjyunit *up ; in jjy_start() local
467 up = emalloc( sizeof(*up) ) ; in jjy_start()
468 if ( up == NULL ) { in jjy_start()
472 memset ( up, 0, sizeof(*up) ) ; in jjy_start()
474 up->bInitError = FALSE ; in jjy_start()
475 up->iProcessState = JJY_PROCESS_STATE_IDLE ; in jjy_start()
476 up->bReceiveFlag = FALSE ; in jjy_start()
477 up->iCommandSeq = 0 ; in jjy_start()
478 up->iLineCount = 0 ; in jjy_start()
479 up->iTimestampCount = 0 ; in jjy_start()
480 up->bWaitBreakString = FALSE ; in jjy_start()
481 up->iRawBufLen = up->iLineBufLen = up->iTextBufLen = 0 ; in jjy_start()
482 up->bSkipCntrlCharOnly = TRUE ; in jjy_start()
484 /* Set up the device name */ in jjy_start()
496 rc = jjy_start_tristate_jjy01 ( unit, peer, up ) ; in jjy_start()
499 rc = jjy_start_cdex_jst2000 ( unit, peer, up ) ; in jjy_start()
502 rc = jjy_start_echokeisokuki_lt2000 ( unit, peer, up ) ; in jjy_start()
505 rc = jjy_start_citizentic_jjy200 ( unit, peer, up ) ; in jjy_start()
508 rc = jjy_start_tristate_gpsclock01 ( unit, peer, up ) ; in jjy_start()
511 rc = jjy_start_seiko_tsys_tdc_300 ( unit, peer, up ) ; in jjy_start()
514 rc = jjy_start_telephone ( unit, peer, up ) ; in jjy_start()
518 rc = jjy_start_telephone ( unit, peer, up ) ; in jjy_start()
522 free ( (void*) up ) ; in jjy_start()
530 free ( (void*) up ) ; in jjy_start()
535 fd = refclock_open ( &peer->srcadr, sDeviceName, up->linespeed, up->linediscipline ) ; in jjy_start()
537 free ( (void*) up ) ; in jjy_start()
547 pp->unitptr = up ; in jjy_start()
555 free ( up ) ; in jjy_start()
577 struct jjyunit *up; in jjy_shutdown() local
583 up = pp->unitptr ; in jjy_shutdown()
587 if ( NULL != up ) { in jjy_shutdown()
588 free ( up ) ; in jjy_shutdown()
606 struct jjyunit *up ; in jjy_receive() local
621 up = pp->unitptr ; in jjy_receive()
626 if ( up->linediscipline == LDISC_RAW ) { in jjy_receive()
637 i < pp->lencode && up->iRawBufLen < MAX_RAWBUF - 2 ; in jjy_receive()
638 i ++ , up->iRawBufLen ++ ) { in jjy_receive()
639 up->sRawBuf[up->iRawBufLen] = pp->a_lastcode[i] ; in jjy_receive()
641 up->sRawBuf[up->iRawBufLen] = 0 ; in jjy_receive()
671 if ( up->iProcessState == JJY_PROCESS_STATE_IDLE in jjy_receive()
672 || up->iProcessState == JJY_PROCESS_STATE_DONE in jjy_receive()
673 || up->iProcessState == JJY_PROCESS_STATE_ERROR ) { in jjy_receive()
675 up->iRawBufLen = 0 ; in jjy_receive()
690 up->iLineCount ++ ; in jjy_receive()
692 up->iProcessState = JJY_PROCESS_STATE_RECEIVE ; in jjy_receive()
693 up->bReceiveFlag = TRUE ; in jjy_receive()
696 iBreakPosition = up->iRawBufLen - 1 ; in jjy_receive()
697 for ( ; up->iProcessState == JJY_PROCESS_STATE_RECEIVE ; ) { in jjy_receive()
699 if ( up->linediscipline == LDISC_RAW ) { in jjy_receive()
701 if ( up->bWaitBreakString ) { in jjy_receive()
702 iBreakPosition = getRawDataBreakPosition( up, iReadRawBuf ) ; in jjy_receive()
705 if ( up->iRawBufLen < MAX_RAWBUF - 2 in jjy_receive()
711 iBreakPosition = up->iRawBufLen - 1 ; in jjy_receive()
715 iBreakPosition = up->iRawBufLen - 1 ; in jjy_receive()
719 up->iLineBufLen = up->iTextBufLen = 0 ; in jjy_receive()
723 up->sLineBuf[up->iLineBufLen] = up->sRawBuf[i] ; in jjy_receive()
724 up->iLineBufLen ++ ; in jjy_receive()
727 if ( ! iscntrl( (u_char)up->sRawBuf[i] ) ) { in jjy_receive()
728 up->sTextBuf[up->iTextBufLen] = up->sRawBuf[i] ; in jjy_receive()
729 up->iTextBufLen ++ ; in jjy_receive()
733 up->sLineBuf[up->iLineBufLen] = 0 ; in jjy_receive()
734 up->sTextBuf[up->iTextBufLen] = 0 ; in jjy_receive()
736 printf( "refclock_jjy.c : %s : up->iLineBufLen=%d up->iTextBufLen=%d\n", in jjy_receive()
737 sFunctionName, up->iLineBufLen, up->iTextBufLen ) ; in jjy_receive()
740 if ( up->bSkipCntrlCharOnly && up->iTextBufLen == 0 ) { in jjy_receive()
742 …printf( "refclock_jjy.c : %s : Skip cntrl char only : up->iRawBufLen=%d iReadRawBuf=%d iBreakPosit… in jjy_receive()
743 sFunctionName, up->iRawBufLen, iReadRawBuf, iBreakPosition ) ; in jjy_receive()
745 if ( iBreakPosition + 1 < up->iRawBufLen ) { in jjy_receive()
756 if ( up->linediscipline == LDISC_RAW ) { in jjy_receive()
757 pBuf = up->sLineBuf ; in jjy_receive()
758 iLen = up->iLineBufLen ; in jjy_receive()
769 switch ( up->unittype ) { in jjy_receive()
808 up->iProcessState = JJY_PROCESS_STATE_DONE ; in jjy_receive()
811 up->iProcessState = JJY_PROCESS_STATE_ERROR ; in jjy_receive()
817 if ( up->linediscipline == LDISC_RAW ) { in jjy_receive()
822 if ( iReadRawBuf >= up->iRawBufLen ) { in jjy_receive()
828 if ( up->linediscipline == LDISC_CLK ) { in jjy_receive()
834 if ( up->linediscipline == LDISC_RAW && iReadRawBuf > 0 ) { in jjy_receive()
835 for ( i = 0, j = iReadRawBuf ; j < up->iRawBufLen ; i ++, j++ ) { in jjy_receive()
836 up->sRawBuf[i] = up->sRawBuf[j] ; in jjy_receive()
838 up->iRawBufLen -= iReadRawBuf ; in jjy_receive()
839 if ( up->iRawBufLen < 0 ) { in jjy_receive()
840 up->iRawBufLen = 0 ; in jjy_receive()
844 up->bReceiveFlag = FALSE ; in jjy_receive()
851 getRawDataBreakPosition ( struct jjyunit *up, int iStart ) in getRawDataBreakPosition() argument
856 if ( iStart >= up->iRawBufLen ) { in getRawDataBreakPosition()
863 for ( i = iStart ; i < up->iRawBufLen ; i ++ ) { in getRawDataBreakPosition()
865 for ( j = 0 ; up->pRawBreak[j].pString != NULL ; j ++ ) { in getRawDataBreakPosition()
867 if ( i + up->pRawBreak[j].iLength <= up->iRawBufLen ) { in getRawDataBreakPosition()
869 if ( strncmp( up->sRawBuf + i, in getRawDataBreakPosition()
870 up->pRawBreak[j].pString, in getRawDataBreakPosition()
871 up->pRawBreak[j].iLength ) == 0 ) { in getRawDataBreakPosition()
875 iStart, i + up->pRawBreak[j].iLength - 1 ) ; in getRawDataBreakPosition()
877 return i + up->pRawBreak[j].iLength - 1 ; in getRawDataBreakPosition()
900 struct jjyunit *up; in jjy_poll() local
904 up = pp->unitptr ; in jjy_poll()
906 if ( up->bInitError ) { in jjy_poll()
911 if ( pp->polls > 0 && up->iLineCount == 0 ) { in jjy_poll()
933 up->iProcessState = JJY_PROCESS_STATE_POLL ; in jjy_poll()
934 up->iCommandSeq = 0 ; in jjy_poll()
935 up->iReceiveSeq = 0 ; in jjy_poll()
936 up->iLineCount = 0 ; in jjy_poll()
937 up->bLineError = FALSE ; in jjy_poll()
938 up->iRawBufLen = 0 ; in jjy_poll()
940 switch ( up->unittype ) { in jjy_poll()
985 struct jjyunit *up ; in jjy_timer() local
994 up = pp->unitptr ; in jjy_timer()
996 if ( up->bReceiveFlag ) { in jjy_timer()
999 printf ( "refclock_jjy.c : jjy_timer : up->bReceiveFlag= TRUE : Timer skipped.\n" ) ; in jjy_timer()
1005 switch ( up->unittype ) { in jjy_timer()
1022 jjy_synctime ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in jjy_synctime() argument
1028 pp->year = up->year ; in jjy_synctime()
1029 pp->day = ymd2yd( up->year, up->month, up->day ) ; in jjy_synctime()
1030 pp->hour = up->hour ; in jjy_synctime()
1031 pp->minute = up->minute ; in jjy_synctime()
1032 pp->second = up->second ; in jjy_synctime()
1033 pp->nsec = up->msecond * 1000000 ; in jjy_synctime()
1067 up->year, up->month, up->day, in jjy_synctime()
1068 up->hour, up->minute, up->second, up->msecond, in jjy_synctime()
1157 jjy_start_tristate_jjy01 ( int unit, struct peer *peer, struct jjyunit *up ) in jjy_start_tristate_jjy01() argument
1162 up->unittype = UNITTYPE_TRISTATE_JJY01 ; in jjy_start_tristate_jjy01()
1163 up->linespeed = SPEED232_TRISTATE_JJY01 ; in jjy_start_tristate_jjy01()
1164 up->linediscipline = LDISC_CLK ; in jjy_start_tristate_jjy01()
1166 time( &(up->tLastAdjustedTimestamp) ) ; in jjy_start_tristate_jjy01()
1167 up->bStusReplyAdjustedAtLeastOnce = FALSE ; in jjy_start_tristate_jjy01()
1178 struct jjyunit *up ; in jjy_receive_tristate_jjy01() local
1196 up = pp->unitptr ; in jjy_receive_tristate_jjy01()
1198 if ( up->linediscipline == LDISC_RAW ) { in jjy_receive_tristate_jjy01()
1199 pBuf = up->sTextBuf ; in jjy_receive_tristate_jjy01()
1200 iLen = up->iTextBufLen ; in jjy_receive_tristate_jjy01()
1210 if ( tristate_jjy01_command_sequence[up->iCommandSeq].command == NULL ) { in jjy_receive_tristate_jjy01()
1215 up->bLineError = TRUE ; in jjy_receive_tristate_jjy01()
1221 if ( iLen != tristate_jjy01_command_sequence[up->iCommandSeq].iExpectedReplyLength[0] in jjy_receive_tristate_jjy01()
1222 && iLen != tristate_jjy01_command_sequence[up->iCommandSeq].iExpectedReplyLength[1] ) { in jjy_receive_tristate_jjy01()
1227 up->bLineError = TRUE ; in jjy_receive_tristate_jjy01()
1233 switch ( tristate_jjy01_command_sequence[up->iCommandSeq].commandNumber ) { in jjy_receive_tristate_jjy01()
1238 &up->year, &up->month, &up->day ) ; in jjy_receive_tristate_jjy01()
1240 if ( rc != 3 || up->year < 2000 || 2099 <= up->year in jjy_receive_tristate_jjy01()
1241 || up->month < 1 || 12 < up->month in jjy_receive_tristate_jjy01()
1242 || up->day < 1 || 31 < up->day ) { in jjy_receive_tristate_jjy01()
1245 rc, up->year, up->month, up->day ) ; in jjy_receive_tristate_jjy01()
1247 up->bLineError = TRUE ; in jjy_receive_tristate_jjy01()
1256 if ( up->iTimestampCount >= 2 ) { in jjy_receive_tristate_jjy01()
1259 up->iTimestampCount ) ; in jjy_receive_tristate_jjy01()
1261 up->bLineError = TRUE ; in jjy_receive_tristate_jjy01()
1266 &up->hour, &up->minute, &up->second ) ; in jjy_receive_tristate_jjy01()
1268 if ( rc != 3 || up->hour > 23 || up->minute > 59 || in jjy_receive_tristate_jjy01()
1269 up->second > 60 ) { in jjy_receive_tristate_jjy01()
1272 rc, up->hour, up->minute, up->second ) ; in jjy_receive_tristate_jjy01()
1274 up->bLineError = TRUE ; in jjy_receive_tristate_jjy01()
1278 up->iTimestamp[up->iTimestampCount] = ( up->hour * 60 + up->minute ) * 60 + up->second ; in jjy_receive_tristate_jjy01()
1280 up->iTimestampCount++ ; in jjy_receive_tristate_jjy01()
1282 up->msecond = 0 ; in jjy_receive_tristate_jjy01()
1291 up->bStusReplyAdjusted = TRUE ; in jjy_receive_tristate_jjy01()
1292 up->bStusReplyAdjustedAtLeastOnce = TRUE ; in jjy_receive_tristate_jjy01()
1293 time( &(up->tLastAdjustedTimestamp) ) ; in jjy_receive_tristate_jjy01()
1297 up->bStusReplyAdjusted = FALSE ; in jjy_receive_tristate_jjy01()
1303 up->bLineError = TRUE ; in jjy_receive_tristate_jjy01()
1321 up->bLineError = TRUE ; in jjy_receive_tristate_jjy01()
1332 up->bLineError = TRUE ; in jjy_receive_tristate_jjy01()
1337 if ( up->iTimestampCount == 2 ) { in jjy_receive_tristate_jjy01()
1341 fSeconds = difftime( now, up->tLastAdjustedTimestamp ) ; in jjy_receive_tristate_jjy01()
1344 && ( ! up->bStusReplyAdjusted ) in jjy_receive_tristate_jjy01()
1345 && ( fSeconds >= ( pp->fudgetime2 * 3600 ) || ( ! up->bStusReplyAdjustedAtLeastOnce ) ) ) { in jjy_receive_tristate_jjy01()
1358 } else if ( up->iTimestamp[1] - 2 <= up->iTimestamp[0] in jjy_receive_tristate_jjy01()
1359 && up->iTimestamp[0] <= up->iTimestamp[1] ) { in jjy_receive_tristate_jjy01()
1361 jjy_synctime( peer, pp, up ) ; in jjy_receive_tristate_jjy01()
1363 } else if ( up->iTimestamp[0] > up->iTimestamp[1] ) { in jjy_receive_tristate_jjy01()
1366 up->iTimestamp[0], up->iTimestamp[1] ) ; in jjy_receive_tristate_jjy01()
1372 up->iTimestamp[0], up->iTimestamp[1] ) ; in jjy_receive_tristate_jjy01()
1374 up->bLineError = TRUE ; in jjy_receive_tristate_jjy01()
1382 if ( tristate_jjy01_command_sequence[up->iCommandSeq].command != NULL ) { in jjy_receive_tristate_jjy01()
1383 up->iCommandSeq ++ ; in jjy_receive_tristate_jjy01()
1386 if ( tristate_jjy01_command_sequence[up->iCommandSeq].command == NULL ) { in jjy_receive_tristate_jjy01()
1391 pCmd = tristate_jjy01_command_sequence[up->iCommandSeq].command ; in jjy_receive_tristate_jjy01()
1392 iCmdLen = tristate_jjy01_command_sequence[up->iCommandSeq].commandLength ; in jjy_receive_tristate_jjy01()
1413 struct jjyunit *up ; in jjy_poll_tristate_jjy01() local
1419 up = pp->unitptr ; in jjy_poll_tristate_jjy01()
1421 up->bLineError = FALSE ; in jjy_poll_tristate_jjy01()
1422 up->iTimestampCount = 0 ; in jjy_poll_tristate_jjy01()
1426 up->iCommandSeq = 2 ; in jjy_poll_tristate_jjy01()
1427 up->iLineCount = 2 ; in jjy_poll_tristate_jjy01()
1430 up->bStusReplyAdjusted = FALSE ; in jjy_poll_tristate_jjy01()
1434 printf ( "%s (refclock_jjy.c) : flag1=%X CLK_FLAG1=%X up->iLineCount=%d\n", in jjy_poll_tristate_jjy01()
1436 up->iLineCount ) ; in jjy_poll_tristate_jjy01()
1444 up->iCommandSeq ++ ; in jjy_poll_tristate_jjy01()
1446 pCmd = tristate_jjy01_command_sequence[up->iCommandSeq].command ; in jjy_poll_tristate_jjy01()
1447 iCmdLen = tristate_jjy01_command_sequence[up->iCommandSeq].commandLength ; in jjy_poll_tristate_jjy01()
1480 jjy_start_cdex_jst2000 ( int unit, struct peer *peer, struct jjyunit *up ) in jjy_start_cdex_jst2000() argument
1485 up->unittype = UNITTYPE_CDEX_JST2000 ; in jjy_start_cdex_jst2000()
1486 up->linespeed = SPEED232_CDEX_JST2000 ; in jjy_start_cdex_jst2000()
1487 up->linediscipline = LDISC_RAW ; in jjy_start_cdex_jst2000()
1489 up->pRawBreak = cdex_jst2000_raw_break ; in jjy_start_cdex_jst2000()
1490 up->bWaitBreakString = TRUE ; in jjy_start_cdex_jst2000()
1492 up->bSkipCntrlCharOnly = FALSE ; in jjy_start_cdex_jst2000()
1504 struct jjyunit *up ; in jjy_receive_cdex_jst2000() local
1516 up = pp->unitptr ; in jjy_receive_cdex_jst2000()
1518 if ( up->linediscipline == LDISC_RAW ) { in jjy_receive_cdex_jst2000()
1519 pBuf = up->sTextBuf ; in jjy_receive_cdex_jst2000()
1520 iLen = up->iTextBufLen ; in jjy_receive_cdex_jst2000()
1530 if ( up->iCommandSeq != 1 ) { in jjy_receive_cdex_jst2000()
1535 up->bLineError = TRUE ; in jjy_receive_cdex_jst2000()
1541 if ( up->iLineBufLen < 17 || up->sLineBuf[up->iLineBufLen-1] != 0x03 ) { in jjy_receive_cdex_jst2000()
1552 up->bLineError = TRUE ; in jjy_receive_cdex_jst2000()
1559 &up->year, &up->month, &up->day, in jjy_receive_cdex_jst2000()
1560 &up->hour, &up->minute, &up->second, in jjy_receive_cdex_jst2000()
1561 &up->msecond ) ; in jjy_receive_cdex_jst2000()
1563 if ( rc != 7 || up->month < 1 || up->month > 12 || in jjy_receive_cdex_jst2000()
1564 up->day < 1 || up->day > 31 || up->hour > 23 || in jjy_receive_cdex_jst2000()
1565 up->minute > 59 || up->second > 60 ) { in jjy_receive_cdex_jst2000()
1568 rc, up->year, up->month, up->day, in jjy_receive_cdex_jst2000()
1569 up->hour, up->minute, up->second ) ; in jjy_receive_cdex_jst2000()
1571 up->bLineError = TRUE ; in jjy_receive_cdex_jst2000()
1575 up->year += 2000 ; in jjy_receive_cdex_jst2000()
1576 up->msecond *= 100 ; in jjy_receive_cdex_jst2000()
1578 jjy_synctime( peer, pp, up ) ; in jjy_receive_cdex_jst2000()
1591 struct jjyunit *up ; in jjy_poll_cdex_jst2000() local
1594 up = pp->unitptr ; in jjy_poll_cdex_jst2000()
1596 up->bLineError = FALSE ; in jjy_poll_cdex_jst2000()
1597 up->iRawBufLen = 0 ; in jjy_poll_cdex_jst2000()
1598 up->iLineBufLen = 0 ; in jjy_poll_cdex_jst2000()
1599 up->iTextBufLen = 0 ; in jjy_poll_cdex_jst2000()
1605 up->iCommandSeq ++ ; in jjy_poll_cdex_jst2000()
1646 jjy_start_echokeisokuki_lt2000 ( int unit, struct peer *peer, struct jjyunit *up ) in jjy_start_echokeisokuki_lt2000() argument
1651 up->unittype = UNITTYPE_ECHOKEISOKUKI_LT2000 ; in jjy_start_echokeisokuki_lt2000()
1652 up->linespeed = SPEED232_ECHOKEISOKUKI_LT2000 ; in jjy_start_echokeisokuki_lt2000()
1653 up->linediscipline = LDISC_CLK ; in jjy_start_echokeisokuki_lt2000()
1655 up->operationmode = ECHOKEISOKUKI_LT2000_MODE_SWITCHING_CONTINUOUS ; in jjy_start_echokeisokuki_lt2000()
1667 struct jjyunit *up ; in jjy_receive_echokeisokuki_lt2000() local
1680 up = pp->unitptr ; in jjy_receive_echokeisokuki_lt2000()
1682 if ( up->linediscipline == LDISC_RAW ) { in jjy_receive_echokeisokuki_lt2000()
1683 pBuf = up->sTextBuf ; in jjy_receive_echokeisokuki_lt2000()
1684 iLen = up->iTextBufLen ; in jjy_receive_echokeisokuki_lt2000()
1694 if ( ( up->operationmode == ECHOKEISOKUKI_LT2000_MODE_REQUEST_SEND in jjy_receive_echokeisokuki_lt2000()
1696 || ( up->operationmode == ECHOKEISOKUKI_LT2000_MODE_CONTINUOUS in jjy_receive_echokeisokuki_lt2000()
1698 || ( up->operationmode == ECHOKEISOKUKI_LT2000_MODE_SWITCHING_CONTINUOUS in jjy_receive_echokeisokuki_lt2000()
1704 up->bLineError = TRUE ; in jjy_receive_echokeisokuki_lt2000()
1708 if ( up->operationmode == ECHOKEISOKUKI_LT2000_MODE_REQUEST_SEND && iLen == 15 ) { in jjy_receive_echokeisokuki_lt2000()
1724 up->bLineError = TRUE ; in jjy_receive_echokeisokuki_lt2000()
1730 if ( ( up->operationmode == ECHOKEISOKUKI_LT2000_MODE_REQUEST_SEND in jjy_receive_echokeisokuki_lt2000()
1732 || ( up->operationmode == ECHOKEISOKUKI_LT2000_MODE_CONTINUOUS in jjy_receive_echokeisokuki_lt2000()
1734 || ( up->operationmode == ECHOKEISOKUKI_LT2000_MODE_SWITCHING_CONTINUOUS in jjy_receive_echokeisokuki_lt2000()
1739 &up->year, &up->month, &up->day, in jjy_receive_echokeisokuki_lt2000()
1740 &up->hour, &up->minute, &up->second ) ; in jjy_receive_echokeisokuki_lt2000()
1742 if ( rc != 6 || up->month < 1 || up->month > 12 in jjy_receive_echokeisokuki_lt2000()
1743 || up->day < 1 || up->day > 31 in jjy_receive_echokeisokuki_lt2000()
1744 || up->hour > 23 || up->minute > 59 || up->second > 60 ) { in jjy_receive_echokeisokuki_lt2000()
1747 rc, up->year, up->month, up->day, in jjy_receive_echokeisokuki_lt2000()
1748 up->hour, up->minute, up->second ) ; in jjy_receive_echokeisokuki_lt2000()
1750 up->bLineError = TRUE ; in jjy_receive_echokeisokuki_lt2000()
1754 up->year += 2000 ; in jjy_receive_echokeisokuki_lt2000()
1756 if ( up->operationmode == ECHOKEISOKUKI_LT2000_MODE_CONTINUOUS in jjy_receive_echokeisokuki_lt2000()
1757 || up->operationmode == ECHOKEISOKUKI_LT2000_MODE_SWITCHING_CONTINUOUS ) { in jjy_receive_echokeisokuki_lt2000()
1760 up->msecond = 500 ; in jjy_receive_echokeisokuki_lt2000()
1761 up->second -- ; in jjy_receive_echokeisokuki_lt2000()
1762 if ( up->second < 0 ) { in jjy_receive_echokeisokuki_lt2000()
1763 up->second = 59 ; in jjy_receive_echokeisokuki_lt2000()
1764 up->minute -- ; in jjy_receive_echokeisokuki_lt2000()
1765 if ( up->minute < 0 ) { in jjy_receive_echokeisokuki_lt2000()
1766 up->minute = 59 ; in jjy_receive_echokeisokuki_lt2000()
1767 up->hour -- ; in jjy_receive_echokeisokuki_lt2000()
1768 if ( up->hour < 0 ) { in jjy_receive_echokeisokuki_lt2000()
1769 up->hour = 23 ; in jjy_receive_echokeisokuki_lt2000()
1770 up->day -- ; in jjy_receive_echokeisokuki_lt2000()
1771 if ( up->day < 1 ) { in jjy_receive_echokeisokuki_lt2000()
1772 up->month -- ; in jjy_receive_echokeisokuki_lt2000()
1773 if ( up->month < 1 ) { in jjy_receive_echokeisokuki_lt2000()
1774 up->month = 12 ; in jjy_receive_echokeisokuki_lt2000()
1775 up->year -- ; in jjy_receive_echokeisokuki_lt2000()
1784 jjy_synctime( peer, pp, up ) ; in jjy_receive_echokeisokuki_lt2000()
1789 if (up->operationmode == ECHOKEISOKUKI_LT2000_MODE_SWITCHING_CONTINUOUS ) { in jjy_receive_echokeisokuki_lt2000()
1812 struct jjyunit *up ; in jjy_poll_echokeisokuki_lt2000() local
1817 up = pp->unitptr ; in jjy_poll_echokeisokuki_lt2000()
1819 up->bLineError = FALSE ; in jjy_poll_echokeisokuki_lt2000()
1825 switch ( up->operationmode ) { in jjy_poll_echokeisokuki_lt2000()
1861 jjy_start_citizentic_jjy200 ( int unit, struct peer *peer, struct jjyunit *up ) in jjy_start_citizentic_jjy200() argument
1866 up->unittype = UNITTYPE_CITIZENTIC_JJY200 ; in jjy_start_citizentic_jjy200()
1867 up->linespeed = SPEED232_CITIZENTIC_JJY200 ; in jjy_start_citizentic_jjy200()
1868 up->linediscipline = LDISC_CLK ; in jjy_start_citizentic_jjy200()
1880 struct jjyunit *up ; in jjy_receive_citizentic_jjy200() local
1894 up = pp->unitptr ; in jjy_receive_citizentic_jjy200()
1896 if ( up->linediscipline == LDISC_RAW ) { in jjy_receive_citizentic_jjy200()
1897 pBuf = up->sTextBuf ; in jjy_receive_citizentic_jjy200()
1898 iLen = up->iTextBufLen ; in jjy_receive_citizentic_jjy200()
1911 if ( up->iProcessState != JJY_PROCESS_STATE_RECEIVE ) { in jjy_receive_citizentic_jjy200()
1922 up->bLineError = TRUE ; in jjy_receive_citizentic_jjy200()
1930 &up->year, &up->month, &up->day, &iWeekday, in jjy_receive_citizentic_jjy200()
1931 &up->hour, &up->minute, &up->second ) ; in jjy_receive_citizentic_jjy200()
1938 || up->month < 1 || up->month > 12 || up->day < 1 || up->day > 31 in jjy_receive_citizentic_jjy200()
1940 || up->hour > 23 || up->minute > 59 || up->second > 60 ) { in jjy_receive_citizentic_jjy200()
1943 rc, up->year, up->month, up->day, in jjy_receive_citizentic_jjy200()
1944 up->hour, up->minute, up->second ) ; in jjy_receive_citizentic_jjy200()
1946 up->bLineError = TRUE ; in jjy_receive_citizentic_jjy200()
1958 up->year += 2000 ; in jjy_receive_citizentic_jjy200()
1959 up->msecond = 0 ; in jjy_receive_citizentic_jjy200()
1961 jjy_synctime( peer, pp, up ) ; in jjy_receive_citizentic_jjy200()
1974 struct jjyunit *up ; in jjy_poll_citizentic_jjy200() local
1977 up = pp->unitptr ; in jjy_poll_citizentic_jjy200()
1979 up->bLineError = FALSE ; in jjy_poll_citizentic_jjy200()
2042 jjy_start_tristate_gpsclock01 ( int unit, struct peer *peer, struct jjyunit *up ) in jjy_start_tristate_gpsclock01() argument
2047 up->unittype = UNITTYPE_TRISTATE_GPSCLOCK01 ; in jjy_start_tristate_gpsclock01()
2048 up->linespeed = SPEED232_TRISTATE_GPSCLOCK01 ; in jjy_start_tristate_gpsclock01()
2049 up->linediscipline = LDISC_CLK ; in jjy_start_tristate_gpsclock01()
2064 struct jjyunit *up ; in jjy_receive_tristate_gpsclock01() local
2080 up = pp->unitptr ; in jjy_receive_tristate_gpsclock01()
2082 if ( up->linediscipline == LDISC_RAW ) { in jjy_receive_tristate_gpsclock01()
2083 pBuf = up->sTextBuf ; in jjy_receive_tristate_gpsclock01()
2084 iLen = up->iTextBufLen ; in jjy_receive_tristate_gpsclock01()
2131 if ( tristate_gps01_command_sequence[up->iCommandSeq].command == NULL ) { in jjy_receive_tristate_gpsclock01()
2136 up->bLineError = TRUE ; in jjy_receive_tristate_gpsclock01()
2142 if ( iLen != tristate_gps01_command_sequence[up->iCommandSeq].iExpectedReplyLength ) { in jjy_receive_tristate_gpsclock01()
2147 up->bLineError = TRUE ; in jjy_receive_tristate_gpsclock01()
2153 switch ( tristate_gps01_command_sequence[up->iCommandSeq].commandNumber ) { in jjy_receive_tristate_gpsclock01()
2157 rc = sscanf ( pBuf, "%4d/%2d/%2d", &up->year, &up->month, &up->day ) ; in jjy_receive_tristate_gpsclock01()
2159 if ( rc != 3 || up->year < 2000 || 2099 <= up->year in jjy_receive_tristate_gpsclock01()
2160 || up->month < 1 || 12 < up->month in jjy_receive_tristate_gpsclock01()
2161 || up->day < 1 || 31 < up->day ) { in jjy_receive_tristate_gpsclock01()
2164 rc, up->year, up->month, up->day ) ; in jjy_receive_tristate_gpsclock01()
2166 up->bLineError = TRUE ; in jjy_receive_tristate_gpsclock01()
2174 if ( up->iTimestampCount >= 2 ) { in jjy_receive_tristate_gpsclock01()
2177 up->iTimestampCount ) ; in jjy_receive_tristate_gpsclock01()
2179 up->bLineError = TRUE ; in jjy_receive_tristate_gpsclock01()
2184 &up->hour, &up->minute, &up->second ) ; in jjy_receive_tristate_gpsclock01()
2187 || up->hour > 23 || up->minute > 59 || up->second > 60 ) { in jjy_receive_tristate_gpsclock01()
2190 rc, up->hour, up->minute, up->second ) ; in jjy_receive_tristate_gpsclock01()
2192 up->bLineError = TRUE ; in jjy_receive_tristate_gpsclock01()
2196 up->iTimestamp[up->iTimestampCount] = ( up->hour * 60 + up->minute ) * 60 + up->second ; in jjy_receive_tristate_gpsclock01()
2198 up->iTimestampCount++ ; in jjy_receive_tristate_gpsclock01()
2200 up->msecond = 0 ; in jjy_receive_tristate_gpsclock01()
2215 up->bLineError = TRUE ; in jjy_receive_tristate_gpsclock01()
2226 up->bLineError = TRUE ; in jjy_receive_tristate_gpsclock01()
2231 if ( up->iTimestampCount == 2 ) { in jjy_receive_tristate_gpsclock01()
2234 if ( up->iTimestamp[1] - 2 <= up->iTimestamp[0] in jjy_receive_tristate_gpsclock01()
2235 && up->iTimestamp[0] <= up->iTimestamp[1] ) { in jjy_receive_tristate_gpsclock01()
2237 jjy_synctime( peer, pp, up ) ; in jjy_receive_tristate_gpsclock01()
2239 } else if ( up->iTimestamp[0] > up->iTimestamp[1] ) { in jjy_receive_tristate_gpsclock01()
2242 up->iTimestamp[0], up->iTimestamp[1] ) ; in jjy_receive_tristate_gpsclock01()
2248 up->iTimestamp[0], up->iTimestamp[1] ) ; in jjy_receive_tristate_gpsclock01()
2250 up->bLineError = TRUE ; in jjy_receive_tristate_gpsclock01()
2256 if ( tristate_gps01_command_sequence[up->iCommandSeq].command == NULL ) { in jjy_receive_tristate_gpsclock01()
2258 jjy_synctime( peer, pp, up ) ; in jjy_receive_tristate_gpsclock01()
2264 if ( tristate_gps01_command_sequence[up->iCommandSeq].command != NULL ) { in jjy_receive_tristate_gpsclock01()
2265 up->iCommandSeq ++ ; in jjy_receive_tristate_gpsclock01()
2268 if ( tristate_gps01_command_sequence[up->iCommandSeq].command == NULL ) { in jjy_receive_tristate_gpsclock01()
2270 up->iProcessState = JJY_PROCESS_STATE_DONE ; in jjy_receive_tristate_gpsclock01()
2274 pCmd = tristate_gps01_command_sequence[up->iCommandSeq].command ; in jjy_receive_tristate_gpsclock01()
2275 iCmdLen = tristate_gps01_command_sequence[up->iCommandSeq].commandLength ; in jjy_receive_tristate_gpsclock01()
2296 struct jjyunit *up ; in jjy_poll_tristate_gpsclock01() local
2302 up = pp->unitptr ; in jjy_poll_tristate_gpsclock01()
2304 up->iTimestampCount = 0 ; in jjy_poll_tristate_gpsclock01()
2308 up->iCommandSeq = 1 ; in jjy_poll_tristate_gpsclock01()
2309 up->iLineCount = 1 ; in jjy_poll_tristate_gpsclock01()
2314 printf ( "%s (refclock_jjy.c) : flag1=%X CLK_FLAG1=%X up->iLineCount=%d\n", in jjy_poll_tristate_gpsclock01()
2316 up->iLineCount ) ; in jjy_poll_tristate_gpsclock01()
2324 up->iCommandSeq ++ ; in jjy_poll_tristate_gpsclock01()
2326 pCmd = tristate_gps01_command_sequence[up->iCommandSeq].command ; in jjy_poll_tristate_gpsclock01()
2327 iCmdLen = tristate_gps01_command_sequence[up->iCommandSeq].commandLength ; in jjy_poll_tristate_gpsclock01()
2363 jjy_start_seiko_tsys_tdc_300 ( int unit, struct peer *peer, struct jjyunit *up ) in jjy_start_seiko_tsys_tdc_300() argument
2368 up->unittype = UNITTYPE_SEIKO_TIMESYS_TDC_300 ; in jjy_start_seiko_tsys_tdc_300()
2369 up->linespeed = SPEED232_SEIKO_TIMESYS_TDC_300 ; in jjy_start_seiko_tsys_tdc_300()
2370 up->linediscipline = LDISC_RAW ; in jjy_start_seiko_tsys_tdc_300()
2372 up->pRawBreak = seiko_tsys_tdc_300_raw_break ; in jjy_start_seiko_tsys_tdc_300()
2373 up->bWaitBreakString = TRUE ; in jjy_start_seiko_tsys_tdc_300()
2375 up->bSkipCntrlCharOnly = FALSE ; in jjy_start_seiko_tsys_tdc_300()
2389 struct jjyunit *up ; in jjy_receive_seiko_tsys_tdc_300() local
2401 up = pp->unitptr ; in jjy_receive_seiko_tsys_tdc_300()
2403 if ( up->linediscipline == LDISC_RAW ) { in jjy_receive_seiko_tsys_tdc_300()
2404 pBuf = up->sTextBuf ; in jjy_receive_seiko_tsys_tdc_300()
2405 iLen = up->iTextBufLen ; in jjy_receive_seiko_tsys_tdc_300()
2418 if ( up->iProcessState != JJY_PROCESS_STATE_RECEIVE ) { in jjy_receive_seiko_tsys_tdc_300()
2424 up->iReceiveSeq ++ ; in jjy_receive_seiko_tsys_tdc_300()
2435 &up->hour, &up->minute, &up->second ) ; in jjy_receive_seiko_tsys_tdc_300()
2438 || up->hour > 23 || up->minute > 59 || up->second > 60 ) { in jjy_receive_seiko_tsys_tdc_300()
2441 rc, up->hour, up->minute, up->second ) ; in jjy_receive_seiko_tsys_tdc_300()
2443 up->bLineError = TRUE ; in jjy_receive_seiko_tsys_tdc_300()
2445 } else if ( up->hour == 23 && up->minute == 59 && up->second >= 55 ) { in jjy_receive_seiko_tsys_tdc_300()
2452 up->year = pTime->tm_year ; in jjy_receive_seiko_tsys_tdc_300()
2453 up->month = pTime->tm_mon + 1 ; in jjy_receive_seiko_tsys_tdc_300()
2454 up->day = pTime->tm_mday ; in jjy_receive_seiko_tsys_tdc_300()
2465 &up->year, &up->month, &up->day, in jjy_receive_seiko_tsys_tdc_300()
2466 &up->hour, &up->minute, &up->second, &iWeekday ) ; in jjy_receive_seiko_tsys_tdc_300()
2469 || up->month < 1 || up->month > 12 || up->day < 1 || up->day > 31 in jjy_receive_seiko_tsys_tdc_300()
2471 || up->hour > 23 || up->minute > 59 || up->second > 60 ) { in jjy_receive_seiko_tsys_tdc_300()
2474 rc, up->year, up->month, up->day, in jjy_receive_seiko_tsys_tdc_300()
2475 up->hour, up->minute, up->second ) ; in jjy_receive_seiko_tsys_tdc_300()
2477 up->bLineError = TRUE ; in jjy_receive_seiko_tsys_tdc_300()
2486 &up->year, &up->month, &up->day, &iWeekday, in jjy_receive_seiko_tsys_tdc_300()
2487 &up->hour, &up->minute, &up->second ) ; in jjy_receive_seiko_tsys_tdc_300()
2490 || up->month < 1 || up->month > 12 || up->day < 1 || up->day > 31 in jjy_receive_seiko_tsys_tdc_300()
2492 || up->hour > 23 || up->minute > 59 || up->second > 60 ) { in jjy_receive_seiko_tsys_tdc_300()
2495 rc, up->year, up->month, up->day, in jjy_receive_seiko_tsys_tdc_300()
2496 up->hour, up->minute, up->second ) ; in jjy_receive_seiko_tsys_tdc_300()
2498 up->bLineError = TRUE ; in jjy_receive_seiko_tsys_tdc_300()
2509 up->sLineBuf ) ; in jjy_receive_seiko_tsys_tdc_300()
2511 up->bLineError = TRUE ; in jjy_receive_seiko_tsys_tdc_300()
2513 } else if ( up->iReceiveSeq == 1 ) { in jjy_receive_seiko_tsys_tdc_300()
2515 up->iReceiveSeq -- ; in jjy_receive_seiko_tsys_tdc_300()
2517 } else if ( up->iReceiveSeq >= 3 ) { in jjy_receive_seiko_tsys_tdc_300()
2520 up->sLineBuf ) ; in jjy_receive_seiko_tsys_tdc_300()
2522 up->bLineError = TRUE ; in jjy_receive_seiko_tsys_tdc_300()
2533 up->bLineError = TRUE ; in jjy_receive_seiko_tsys_tdc_300()
2538 up->year += 2000 ; in jjy_receive_seiko_tsys_tdc_300()
2539 up->msecond = 0 ; in jjy_receive_seiko_tsys_tdc_300()
2541 jjy_synctime( peer, pp, up ) ; in jjy_receive_seiko_tsys_tdc_300()
2554 struct jjyunit *up ; in jjy_poll_seiko_tsys_tdc_300() local
2557 up = pp->unitptr ; in jjy_poll_seiko_tsys_tdc_300()
2559 up->bLineError = FALSE ; in jjy_poll_seiko_tsys_tdc_300()
2729 …=%d iClockCommandSeq=%d\n", sFunc, up->iClockState, up->iClockEvent, up->iTeljjySilentTimer, up->i…
2737 jjy_start_telephone ( int unit, struct peer *peer, struct jjyunit *up ) in jjy_start_telephone() argument
2747 up->unittype = UNITTYPE_TELEPHONE ; in jjy_start_telephone()
2748 up->linespeed = SPEED232_TELEPHONE ; in jjy_start_telephone()
2749 up->linediscipline = LDISC_RAW ; in jjy_start_telephone()
2751 up->pRawBreak = teljjy_raw_break ; in jjy_start_telephone()
2752 up->bWaitBreakString = TRUE ; in jjy_start_telephone()
2754 up->bSkipCntrlCharOnly = TRUE ; in jjy_start_telephone()
2756 up->iClockState = TELJJY_STATE_IDLE ; in jjy_start_telephone()
2757 up->iClockEvent = TELJJY_EVENT_NULL ; in jjy_start_telephone()
2763 up->bInitError = TRUE ; in jjy_start_telephone()
2769 up->bInitError = TRUE ; in jjy_start_telephone()
2784 up->bInitError = TRUE ; in jjy_start_telephone()
2791 up->bInitError = TRUE ; in jjy_start_telephone()
2800 up->bInitError = TRUE ; in jjy_start_telephone()
2808 up->bInitError = TRUE ; in jjy_start_telephone()
2821 up->bInitError = TRUE ; in jjy_start_telephone()
2857 struct jjyunit *up ; in jjy_receive_telephone() local
2864 up = pp->unitptr ; in jjy_receive_telephone()
2868 if ( up->iClockState == TELJJY_STATE_IDLE in jjy_receive_telephone()
2869 || up->iClockState == TELJJY_STATE_DAILOUT in jjy_receive_telephone()
2870 || up->iClockState == TELJJY_STATE_BYE ) { in jjy_receive_telephone()
2872 iPreviousModemState = getModemState( up ) ; in jjy_receive_telephone()
2876 if ( iPreviousModemState != up->iModemState ) { in jjy_receive_telephone()
2878 if ( isModemStateDisconnect( up->iModemState ) ) { in jjy_receive_telephone()
2879 up->iClockEvent = TELJJY_EVENT_DISCONNECT ; in jjy_receive_telephone()
2880 teljjy_control ( peer, pp, up ) ; in jjy_receive_telephone()
2881 } else if ( isModemStateConnect( up->iModemState ) ) { in jjy_receive_telephone()
2882 up->iClockEvent = TELJJY_EVENT_CONNECT ; in jjy_receive_telephone()
2883 teljjy_control ( peer, pp, up ) ; in jjy_receive_telephone()
2891 if ( up->linediscipline == LDISC_RAW ) { in jjy_receive_telephone()
2892 pBuf = up->sTextBuf ; in jjy_receive_telephone()
2893 iLen = up->iTextBufLen ; in jjy_receive_telephone()
2899 up->iTeljjySilentTimer = 0 ; in jjy_receive_telephone()
2900 …if ( iLen == 7 && strncmp( pBuf, "Name ? ", 7 ) == 0 ) { up->iClockEvent = TELJJY_EVENT_LOGIN… in jjy_receive_telephone()
2901 …else if ( iLen == 1 && strncmp( pBuf, ">" , 1 ) == 0 ) { up->iClockEvent = TELJJY_EVENT_PROMP… in jjy_receive_telephone()
2902 …else if ( iLen >= 1 && strncmp( pBuf, "?" , 1 ) == 0 ) { up->iClockEvent = TELJJY_EVENT_ERROR… in jjy_receive_telephone()
2903 …else { up->iClockEvent = TELJJY_EVENT_DATA … in jjy_receive_telephone()
2905 teljjy_control ( peer, pp, up ) ; in jjy_receive_telephone()
2921 struct jjyunit *up ; in jjy_poll_telephone() local
2924 up = pp->unitptr ; in jjy_poll_telephone()
2928 if ( up->iClockState == TELJJY_STATE_IDLE ) { in jjy_poll_telephone()
2929 up->iRawBufLen = 0 ; in jjy_poll_telephone()
2930 up->iLineBufLen = 0 ; in jjy_poll_telephone()
2931 up->iTextBufLen = 0 ; in jjy_poll_telephone()
2934 up->iClockEvent = TELJJY_EVENT_START ; in jjy_poll_telephone()
2935 teljjy_control ( peer, pp, up ) ; in jjy_poll_telephone()
2949 struct jjyunit *up ; in jjy_timer_telephone() local
2953 up = pp->unitptr ; in jjy_timer_telephone()
2957 if ( iTeljjySilentTimeout[up->iClockState] != 0 ) { in jjy_timer_telephone()
2958 up->iTeljjySilentTimer++ ; in jjy_timer_telephone()
2959 if ( iTeljjySilentTimeout[up->iClockState] <= up->iTeljjySilentTimer ) { in jjy_timer_telephone()
2960 up->iClockEvent = TELJJY_EVENT_SILENT ; in jjy_timer_telephone()
2961 teljjy_control ( peer, pp, up ) ; in jjy_timer_telephone()
2965 if ( iTeljjyStateTimeout[up->iClockState] != 0 ) { in jjy_timer_telephone()
2966 up->iTeljjyStateTimer++ ; in jjy_timer_telephone()
2967 if ( iTeljjyStateTimeout[up->iClockState] <= up->iTeljjyStateTimer ) { in jjy_timer_telephone()
2968 up->iClockEvent = TELJJY_EVENT_TIMEOUT ; in jjy_timer_telephone()
2969 teljjy_control ( peer, pp, up ) ; in jjy_timer_telephone()
2973 if ( isModemStateTimerOn( up ) ) { in jjy_timer_telephone()
2975 iPreviousModemState = getModemState( up ) ; in jjy_timer_telephone()
2979 if ( iPreviousModemState != up->iModemState ) { in jjy_timer_telephone()
2981 if ( isModemStateDisconnect( up->iModemState ) ) { in jjy_timer_telephone()
2982 up->iClockEvent = TELJJY_EVENT_DISCONNECT ; in jjy_timer_telephone()
2983 teljjy_control ( peer, pp, up ) ; in jjy_timer_telephone()
2984 } else if ( isModemStateConnect( up->iModemState ) ) { in jjy_timer_telephone()
2985 up->iClockEvent = TELJJY_EVENT_CONNECT ; in jjy_timer_telephone()
2986 teljjy_control ( peer, pp, up ) ; in jjy_timer_telephone()
2997 teljjy_control ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_control() argument
3005 rc = (*pTeljjyHandler[up->iClockEvent][up->iClockState])( peer, pp, up ) ; in teljjy_control()
3008 iPostEvent = iTeljjyPostEvent[up->iClockEvent][up->iClockState] ; in teljjy_control()
3012 up->iClockState, iTeljjyNextState[up->iClockEvent][up->iClockState], iPostEvent ) ; in teljjy_control()
3015 up->iTeljjySilentTimer = 0 ; in teljjy_control()
3016 if ( up->iClockState != iTeljjyNextState[up->iClockEvent][up->iClockState] ) { in teljjy_control()
3018 up->iTeljjyStateTimer = 0 ; in teljjy_control()
3019 up->bLineError = FALSE ; in teljjy_control()
3020 up->iClockCommandSeq = 0 ; in teljjy_control()
3021 up->iTimestampCount = 0 ; in teljjy_control()
3022 up->iLoopbackCount = 0 ; in teljjy_control()
3024 up->bLoopbackTimeout[i] = FALSE ; in teljjy_control()
3026 if (iTeljjyNextState[up->iClockEvent][up->iClockState] == TELJJY_STATE_IDLE ) { in teljjy_control()
3028 up->iProcessState = JJY_PROCESS_STATE_DONE ; in teljjy_control()
3031 up->iClockState = iTeljjyNextState[up->iClockEvent][up->iClockState] ; in teljjy_control()
3036 up->iClockEvent = iPostEvent ; in teljjy_control()
3037 teljjy_control ( peer, pp, up ) ; in teljjy_control()
3040 up->iClockEvent = TELJJY_EVENT_NULL ; in teljjy_control()
3047 teljjy_setDelay ( struct peer *peer, struct jjyunit *up ) in teljjy_setDelay() argument
3053 gettimeofday( &(up->delayTime[up->iLoopbackCount]), NULL ) ; in teljjy_setDelay()
3055 up->delayTime[up->iLoopbackCount].tv_sec -= up->sendTime[up->iLoopbackCount].tv_sec ; in teljjy_setDelay()
3056 up->delayTime[up->iLoopbackCount].tv_usec -= up->sendTime[up->iLoopbackCount].tv_usec ; in teljjy_setDelay()
3057 if ( up->delayTime[up->iLoopbackCount].tv_usec < 0 ) { in teljjy_setDelay()
3058 up->delayTime[up->iLoopbackCount].tv_sec -- ; in teljjy_setDelay()
3059 up->delayTime[up->iLoopbackCount].tv_usec += 1000000 ; in teljjy_setDelay()
3062 milliSecond = up->delayTime[up->iLoopbackCount].tv_usec / 1000 ; in teljjy_setDelay()
3063 microSecond = up->delayTime[up->iLoopbackCount].tv_usec - milliSecond * 1000 ; in teljjy_setDelay()
3064 milliSecond += up->delayTime[up->iLoopbackCount].tv_sec * 1000 ; in teljjy_setDelay()
3082 teljjy_getDelay ( struct peer *peer, struct jjyunit *up ) in teljjy_getDelay() argument
3097 up->iLoopbackValidCount = 0 ; in teljjy_getDelay()
3099 for ( i = 0 ; i < MAX_LOOPBACK && i < up->iLoopbackCount ; i ++ ) { in teljjy_getDelay()
3100 if ( up->bLoopbackTimeout[i] in teljjy_getDelay()
3101 || up->delayTime[i].tv_sec > iThresholdSecond in teljjy_getDelay()
3102 || ( up->delayTime[i].tv_sec == iThresholdSecond in teljjy_getDelay()
3103 && up->delayTime[i].tv_usec > iThresholdMicroSecond ) ) { in teljjy_getDelay()
3106 if ( up->iLoopbackValidCount == 0 ) { in teljjy_getDelay()
3107 minTime.tv_sec = up->delayTime[i].tv_sec ; in teljjy_getDelay()
3108 minTime.tv_usec = up->delayTime[i].tv_usec ; in teljjy_getDelay()
3109 maxTime.tv_sec = up->delayTime[i].tv_sec ; in teljjy_getDelay()
3110 maxTime.tv_usec = up->delayTime[i].tv_usec ; in teljjy_getDelay()
3112 } else if ( minTime.tv_sec > up->delayTime[i].tv_sec in teljjy_getDelay()
3113 || ( minTime.tv_sec == up->delayTime[i].tv_sec in teljjy_getDelay()
3114 && minTime.tv_usec > up->delayTime[i].tv_usec ) ) { in teljjy_getDelay()
3115 minTime.tv_sec = up->delayTime[i].tv_sec ; in teljjy_getDelay()
3116 minTime.tv_usec = up->delayTime[i].tv_usec ; in teljjy_getDelay()
3118 } else if ( maxTime.tv_sec < up->delayTime[i].tv_sec in teljjy_getDelay()
3119 || ( maxTime.tv_sec == up->delayTime[i].tv_sec in teljjy_getDelay()
3120 && maxTime.tv_usec < up->delayTime[i].tv_usec ) ) { in teljjy_getDelay()
3121 maxTime.tv_sec = up->delayTime[i].tv_sec ; in teljjy_getDelay()
3122 maxTime.tv_usec = up->delayTime[i].tv_usec ; in teljjy_getDelay()
3125 up->iLoopbackValidCount ++ ; in teljjy_getDelay()
3128 if ( up->iLoopbackValidCount < 2 ) { in teljjy_getDelay()
3134 for ( i = 0 ; i < MAX_LOOPBACK && i < up->iLoopbackCount ; i ++ ) { in teljjy_getDelay()
3135 if ( up->bLoopbackTimeout[i] in teljjy_getDelay()
3136 || up->delayTime[i].tv_sec > iThresholdSecond in teljjy_getDelay()
3137 || ( up->delayTime[i].tv_sec == iThresholdSecond in teljjy_getDelay()
3138 && up->delayTime[i].tv_usec > iThresholdMicroSecond ) ) { in teljjy_getDelay()
3141 if ( up->iLoopbackValidCount >= 3 && i == maxIndex ) { in teljjy_getDelay()
3144 if ( up->iLoopbackValidCount >= 4 && i == minIndex ) { in teljjy_getDelay()
3147 averTime.tv_usec += up->delayTime[i].tv_usec ; in teljjy_getDelay()
3170 teljjy_idle_ignore ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_idle_ignore() argument
3181 teljjy_idle_dialout ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_idle_dialout() argument
3194 teljjy_dial_ignore ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_dial_ignore() argument
3205 teljjy_dial_login ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_dial_login() argument
3216 teljjy_dial_disc ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_dial_disc() argument
3227 teljjy_login_ignore ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_login_ignore() argument
3238 teljjy_login_disc ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_login_disc() argument
3249 teljjy_login_conn ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_login_conn() argument
3256 up->bLineError = FALSE ; in teljjy_login_conn()
3257 up->iClockCommandSeq = 0 ; in teljjy_login_conn()
3258 up->iTimestampCount = 0 ; in teljjy_login_conn()
3259 up->iLoopbackCount = 0 ; in teljjy_login_conn()
3261 up->bLoopbackTimeout[i] = FALSE ; in teljjy_login_conn()
3270 teljjy_login_login ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_login_login() argument
3295 teljjy_login_silent ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_login_silent() argument
3306 up->iTeljjySilentTimer = 0 ; in teljjy_login_silent()
3314 teljjy_login_error ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_login_error() argument
3325 teljjy_conn_ignore ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_conn_ignore() argument
3336 teljjy_conn_disc ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_conn_disc() argument
3347 teljjy_conn_send ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_conn_send() argument
3356 if ( up->iClockCommandSeq > 0 in teljjy_conn_send()
3357 && teljjy_command_sequence[up->iClockCommandSeq].command == NULL ) { in teljjy_conn_send()
3362 if ( up->iClockCommandSeq == 0 && peer->ttl == 100 ) { in teljjy_conn_send()
3365 up->iClockCommandSeq = TELJJY_COMMAND_START_SKIP_LOOPBACK ; in teljjy_conn_send()
3367 } else if ( up->iClockCommandSeq == 0 && peer->ttl != 100 ) { in teljjy_conn_send()
3370 up->iLoopbackCount = 0 ; in teljjy_conn_send()
3372 up->bLoopbackTimeout[i] = FALSE ; in teljjy_conn_send()
3375 } else if ( up->iClockCommandSeq > 0 && peer->ttl != 100 in teljjy_conn_send()
3376 && teljjy_command_sequence[up->iClockCommandSeq].iExpectedReplyType == TELJJY_REPLY_LOOPBACK in teljjy_conn_send()
3377 && up->iLoopbackCount < MAX_LOOPBACK ) { in teljjy_conn_send()
3382 up->iClockCommandSeq, up->iLoopbackCount ) ; in teljjy_conn_send()
3386 teljjy_setDelay( peer, up ) ; in teljjy_conn_send()
3388 up->iLoopbackCount ++ ; in teljjy_conn_send()
3392 up->iClockCommandSeq++ ; in teljjy_conn_send()
3394 pCmd = teljjy_command_sequence[up->iClockCommandSeq].command ; in teljjy_conn_send()
3395 iLen = teljjy_command_sequence[up->iClockCommandSeq].commandLength ; in teljjy_conn_send()
3403 if ( teljjy_command_sequence[up->iClockCommandSeq].iExpectedReplyType == TELJJY_REPLY_LOOPBACK ) { in teljjy_conn_send()
3405 if ( up->iLoopbackCount < MAX_LOOPBACK ) { in teljjy_conn_send()
3406 gettimeofday( &(up->sendTime[up->iLoopbackCount]), NULL ) ; in teljjy_conn_send()
3407 up->bLoopbackMode = TRUE ; in teljjy_conn_send()
3412 up->iClockCommandSeq, up->iLoopbackCount, MAX_LOOPBACK ) ; in teljjy_conn_send()
3415 up->bLoopbackMode = FALSE ; in teljjy_conn_send()
3419 up->bLoopbackMode = FALSE ; in teljjy_conn_send()
3424 if ( teljjy_command_sequence[up->iClockCommandSeq+1].command == NULL ) { in teljjy_conn_send()
3444 teljjy_conn_data ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_conn_data() argument
3455 if ( up->linediscipline == LDISC_RAW ) { in teljjy_conn_data()
3456 pBuf = up->sTextBuf ; in teljjy_conn_data()
3457 iLen = up->iTextBufLen ; in teljjy_conn_data()
3463 if ( teljjy_command_sequence[up->iClockCommandSeq].iEchobackReplyLength == iLen in teljjy_conn_data()
3464 && teljjy_command_sequence[up->iClockCommandSeq].iExpectedReplyType == TELJJY_REPLY_LOOPBACK in teljjy_conn_data()
3465 && up->sTextBuf[0] == *(teljjy_command_sequence[up->iClockCommandSeq].command) in teljjy_conn_data()
3466 && up->iLoopbackCount < MAX_LOOPBACK ) { in teljjy_conn_data()
3469 teljjy_setDelay( peer, up ) ; in teljjy_conn_data()
3471 up->iLoopbackCount ++ ; in teljjy_conn_data()
3473 } else if ( teljjy_command_sequence[up->iClockCommandSeq].iEchobackReplyLength == iLen in teljjy_conn_data()
3474 && strncmp( pBuf, teljjy_command_sequence[up->iClockCommandSeq].command, iLen ) == 0 ) { in teljjy_conn_data()
3479 } else if ( teljjy_command_sequence[up->iClockCommandSeq].iExpectedReplyLength == iLen in teljjy_conn_data()
3480 && teljjy_command_sequence[up->iClockCommandSeq].iExpectedReplyType == TELJJY_REPLY_4DATE ) { in teljjy_conn_data()
3483 rc = sscanf ( pBuf, "%4d%2d%2d", &up->year, &up->month, &up->day ) ; in teljjy_conn_data()
3485 if ( rc != 3 || up->year < 2000 || 2099 <= up->year in teljjy_conn_data()
3486 || up->month < 1 || 12 < up->month || up->day < 1 || 31 < up->day ) { in teljjy_conn_data()
3489 rc, up->year, up->month, up->day ) ; in teljjy_conn_data()
3491 up->bLineError = TRUE ; in teljjy_conn_data()
3494 } else if ( teljjy_command_sequence[up->iClockCommandSeq].iExpectedReplyLength == iLen in teljjy_conn_data()
3495 && teljjy_command_sequence[up->iClockCommandSeq].iExpectedReplyType == TELJJY_REPLY_LEAPSEC in teljjy_conn_data()
3499 rc = sscanf ( pBuf, "%2d", &up->leapsecond ) ; in teljjy_conn_data()
3501 if ( rc != 1 || up->leapsecond < -1 || 1 < up->leapsecond ) { in teljjy_conn_data()
3506 up->bLineError = TRUE ; in teljjy_conn_data()
3509 } else if ( teljjy_command_sequence[up->iClockCommandSeq].iExpectedReplyLength == iLen in teljjy_conn_data()
3510 && teljjy_command_sequence[up->iClockCommandSeq].iExpectedReplyType == TELJJY_REPLY_TIME ) { in teljjy_conn_data()
3513 rc = sscanf ( pBuf, "%2d%2d%2d", &up->hour, &up->minute, &up->second ) ; in teljjy_conn_data()
3515 if ( rc != 3 || up->hour > 23 || up->minute > 59 || up->second > 60 ) { in teljjy_conn_data()
3518 rc, up->hour, up->minute, up->second ) ; in teljjy_conn_data()
3520 up->bLineError = TRUE ; in teljjy_conn_data()
3522 up->iTimestamp[up->iTimestampCount] = ( up->hour * 60 + up->minute ) * 60 + up->second ; in teljjy_conn_data()
3524 up->iTimestampCount++ ; in teljjy_conn_data()
3526 if ( up->iTimestampCount == 6 && ! up->bLineError ) { in teljjy_conn_data()
3529 up->bLineError, in teljjy_conn_data()
3530 up->iTimestamp[3], up->iTimestamp[4], up->iTimestamp[5] ) ; in teljjy_conn_data()
3536 up->msecond = 0 ; in teljjy_conn_data()
3539 up->msecond = teljjy_getDelay( peer, up ) ; in teljjy_conn_data()
3540 if (up->msecond < 0 ) { in teljjy_conn_data()
3541 up->msecond = 0 ; in teljjy_conn_data()
3546 if ( ( up->iTimestamp[3] - 15 ) <= up->iTimestamp[2] in teljjy_conn_data()
3547 && up->iTimestamp[2] <= up->iTimestamp[3] in teljjy_conn_data()
3548 && ( up->iTimestamp[3] + 1 ) == up->iTimestamp[4] in teljjy_conn_data()
3549 && ( up->iTimestamp[4] + 1 ) == up->iTimestamp[5] ) { in teljjy_conn_data()
3552 jjy_synctime( peer, pp, up ) ; in teljjy_conn_data()
3558 up->msecond, up->iLoopbackValidCount, MAX_LOOPBACK ) ; in teljjy_conn_data()
3563 up->iLoopbackValidCount, MAX_LOOPBACK ) ; in teljjy_conn_data()
3571 } else if ( teljjy_command_sequence[up->iClockCommandSeq].iEchobackReplyLength != iLen in teljjy_conn_data()
3572 && teljjy_command_sequence[up->iClockCommandSeq].iExpectedReplyType == TELJJY_REPLY_LOOPBACK ) { in teljjy_conn_data()
3581 up->bLineError = TRUE ; in teljjy_conn_data()
3595 teljjy_conn_silent ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_conn_silent() argument
3602 if ( up->iClockCommandSeq >= 1 in teljjy_conn_silent()
3603 && up->iClockCommandSeq < TELJJY_COMMAND_START_SKIP_LOOPBACK ) { in teljjy_conn_silent()
3610 if ( teljjy_command_sequence[up->iClockCommandSeq].iExpectedReplyType == TELJJY_REPLY_LOOPBACK ) { in teljjy_conn_silent()
3611 up->bLoopbackTimeout[up->iLoopbackCount] = TRUE ; in teljjy_conn_silent()
3613 up->iTeljjySilentTimer = 0 ; in teljjy_conn_silent()
3614 return teljjy_conn_send( peer, pp, up ) ; in teljjy_conn_silent()
3625 up->iTeljjySilentTimer = 0 ; in teljjy_conn_silent()
3633 teljjy_conn_error ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_conn_error() argument
3644 teljjy_bye_ignore ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_bye_ignore() argument
3655 teljjy_bye_disc ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_bye_disc() argument
3666 teljjy_bye_modem ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in teljjy_bye_modem() argument
3803 …mSilentTimer=%d iModemStateTimer=%d\n", sFunc, up->iModemState, up->iModemEvent, up->iModemSilentT…
3811 getModemState ( struct jjyunit *up ) in getModemState() argument
3813 return up->iModemState ; in getModemState()
3835 isModemStateTimerOn ( struct jjyunit *up ) in isModemStateTimerOn() argument
3837 return ( iModemSilentTimeout[up->iModemState] != 0 || iModemStateTimeout[up->iModemState] != 0 ) ; in isModemStateTimerOn()
3846 struct jjyunit *up; in modem_connect() local
3849 up = pp->unitptr ; in modem_connect()
3853 up->iModemEvent = MODEM_EVENT_INITIALIZE ; in modem_connect()
3855 modem_control ( peer, pp, up ) ; in modem_connect()
3865 struct jjyunit *up; in modem_disconnect() local
3868 up = pp->unitptr ; in modem_disconnect()
3872 up->iModemEvent = MODEM_EVENT_DISCONNECT ; in modem_disconnect()
3874 modem_control ( peer, pp, up ) ; in modem_disconnect()
3885 struct jjyunit *up; in modem_receive() local
3896 up = pp->unitptr ; in modem_receive()
3900 if ( up->linediscipline == LDISC_RAW ) { in modem_receive()
3901 pBuf = up->sTextBuf ; in modem_receive()
3902 iLen = up->iTextBufLen ; in modem_receive()
3908 …if ( iLen == 2 && strncmp( pBuf, "OK" , 2 ) == 0 ) { up->iModemEvent = MODEM_EVENT_… in modem_receive()
3909 …else if ( iLen == 7 && strncmp( pBuf, "CONNECT" , 7 ) == 0 ) { up->iModemEvent = MODEM_EVENT_… in modem_receive()
3910 …else if ( iLen == 4 && strncmp( pBuf, "RING" , 4 ) == 0 ) { up->iModemEvent = MODEM_EVENT_… in modem_receive()
3911 …else if ( iLen == 10 && strncmp( pBuf, "NO CARRIER" , 10 ) == 0 ) { up->iModemEvent = MODEM_EVENT_… in modem_receive()
3912 …else if ( iLen == 5 && strncmp( pBuf, "ERROR" , 5 ) == 0 ) { up->iModemEvent = MODEM_EVENT_… in modem_receive()
3913 …else if ( iLen >= 8 && strncmp( pBuf, "CONNECT " , 8 ) == 0 ) { up->iModemEvent = MODEM_EVENT_… in modem_receive()
3914 …else if ( iLen == 11 && strncmp( pBuf, "NO DAILTONE", 11 ) == 0 ) { up->iModemEvent = MODEM_EVENT_… in modem_receive()
3915 …else if ( iLen == 4 && strncmp( pBuf, "BUSY" , 4 ) == 0 ) { up->iModemEvent = MODEM_EVENT_… in modem_receive()
3916 …else if ( iLen == 9 && strncmp( pBuf, "NO ANSWER" , 9 ) == 0 ) { up->iModemEvent = MODEM_EVENT_… in modem_receive()
3917 …else { up->iModemEvent = MODEM_EVENT_… in modem_receive()
3926 …_jjy.c : modem_receive : iLen=%zu pBuf=[%s] iModemEvent=%d\n", iCopyLen, sResp, up->iModemEvent ) ; in modem_receive()
3929 modem_control ( peer, pp, up ) ; in modem_receive()
3942 struct jjyunit *up ; in modem_timer() local
3945 up = pp->unitptr ; in modem_timer()
3949 if ( iModemSilentTimeout[up->iModemState] != 0 ) { in modem_timer()
3950 up->iModemSilentTimer++ ; in modem_timer()
3951 if ( iModemSilentTimeout[up->iModemState] <= up->iModemSilentTimer ) { in modem_timer()
3952 up->iModemEvent = MODEM_EVENT_SILENT ; in modem_timer()
3953 modem_control ( peer, pp, up ) ; in modem_timer()
3957 if ( iModemStateTimeout[up->iModemState] != 0 ) { in modem_timer()
3958 up->iModemStateTimer++ ; in modem_timer()
3959 if ( iModemStateTimeout[up->iModemState] <= up->iModemStateTimer ) { in modem_timer()
3960 up->iModemEvent = MODEM_EVENT_TIMEOUT ; in modem_timer()
3961 modem_control ( peer, pp, up ) ; in modem_timer()
3970 modem_control ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_control() argument
3978 rc = (*pModemHandler[up->iModemEvent][up->iModemState])( peer, pp, up ) ; in modem_control()
3981 iPostEvent = iModemPostEvent[up->iModemEvent][up->iModemState] ; in modem_control()
3985 up->iModemState, iModemNextState[up->iModemEvent][up->iModemState], iPostEvent ) ; in modem_control()
3989 if ( up->iModemState != iModemNextState[up->iModemEvent][up->iModemState] ) { in modem_control()
3990 up->iModemSilentCount = 0 ; in modem_control()
3991 up->iModemStateTimer = 0 ; in modem_control()
3992 up->iModemCommandSeq = 0 ; in modem_control()
3995 up->iModemState = iModemNextState[up->iModemEvent][up->iModemState] ; in modem_control()
3999 up->iModemEvent = iPostEvent ; in modem_control()
4000 modem_control ( peer, pp, up ) ; in modem_control()
4003 up->iModemEvent = MODEM_EVENT_NULL ; in modem_control()
4009 modem_disc_ignore ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_disc_ignore() argument
4020 modem_disc_init ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_disc_init() argument
4031 modem_init_ignore ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_init_ignore() argument
4042 modem_init_start ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_init_start() argument
4047 up->iModemCommandSeq = 0 ; in modem_init_start()
4055 return modem_init_resp00( peer, pp, up ) ; in modem_init_start()
4061 modem_init_resp00 ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_init_resp00() argument
4072 up->iModemCommandSeq++ ; in modem_init_resp00()
4074 switch ( up->iModemCommandSeq ) { in modem_init_resp00()
4169 modem_init_resp04 ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_init_resp04() argument
4174 return modem_init_resp00( peer, pp, up ) ; in modem_init_resp04()
4180 modem_init_disc ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_init_disc() argument
4196 modem_dial_ignore ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_dial_ignore() argument
4207 modem_dial_dialout ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_dial_dialout() argument
4242 modem_dial_escape ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_dial_escape() argument
4252 return modem_conn_escape( peer, pp, up ) ; in modem_dial_escape()
4258 modem_dial_connect ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_dial_connect() argument
4269 modem_dial_disc ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_dial_disc() argument
4279 modem_esc_disc( peer, pp, up ) ; in modem_dial_disc()
4287 modem_conn_ignore ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_conn_ignore() argument
4298 modem_conn_escape ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_conn_escape() argument
4309 modem_esc_ignore ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_esc_ignore() argument
4320 modem_esc_escape ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_esc_escape() argument
4345 modem_esc_data ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_esc_data() argument
4350 up->iModemSilentTimer = 0 ; in modem_esc_data()
4358 modem_esc_silent ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_esc_silent() argument
4363 up->iModemSilentCount ++ ; in modem_esc_silent()
4365 …if ( up->iModemSilentCount < iModemStateTimeout[up->iModemState] / iModemSilentTimeout[up->iModemS… in modem_esc_silent()
4371 modem_esc_escape( peer, pp, up ) ; in modem_esc_silent()
4372 up->iModemSilentTimer = 0 ; in modem_esc_silent()
4381 return modem_esc_disc( peer, pp, up ) ; in modem_esc_silent()
4386 modem_esc_disc ( struct peer *peer, struct refclockproc *pp, struct jjyunit *up ) in modem_esc_disc() argument