• 大小: 33KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-05
  • 语言: 其他
  • 标签: arm  时间同步  

资源简介

该代码实现ntp时间自动同步,能够移植到ARM Linux嵌入式开发板中,使用教程见我的博客

资源截图

代码片段和文件信息

/*
 * adjtimex_1.c - read and possibly modify the Linux kernel ‘timex‘ variables.
 *
 * Originally written: October 1997
 * Last hack: May 2003
 * Copyright 1997 2000 2003 Larry Doolittle 
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License (Version 2
 *  June 1991) as published by the Free Software Foundation.  At the
 *  time of writing that license was published by the FSF with the URL
 *  http://www.gnu.org/copyleft/gpl.html and is incorporated herein by
 *  reference.
 *
 *  This program is distributed in the hope that it will be useful
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 * This adjtimex(1) is very similar in intent to adjtimex(8) by Steven
 * Dick  and Jim Van Zandt 
 * (see http://metalab.unc.edu/pub/Linux/system/admin/time/adjtimex*).
 * That version predates this one and is _much_ bigger and more
 * featureful.  My independently written version was very similar to
 * Steven‘s from the start because they both follow the kernel timex
 * structure.  I further tweaked this version to be equivalent to Steven‘s
 * where possible but I don‘t like getopt_long so the actual usage
 * syntax is incompatible.
 *
 * Amazingly enough my Red Hat 5.2 sys/timex (and sub-includes)
 * don‘t actually give a prototype for adjtimex(2) so building
 * this code (with -Wall) gives a warning.  Later versions of
 * glibc fix this issue.
 *
 * This program is too simple for a Makefile just build with:
 *  gcc -Wall -O adjtimex_1.c -o adjtimex
 */

#include 
#include 
#include 
#include 
#include 

static struct {int bit; const char *name;} statlist[] = {
{ STA_PLL       “PLL“       }
{ STA_PPSFREQ   “PPSFREQ“   }
{ STA_PPSTIME   “PPSTIME“   }
{ STA_FLL       “FFL“       }
{ STA_INS       “INS“       }
{ STA_DEL       “DEL“       }
{ STA_UNSYNC    “UNSYNC“    }
{ STA_FREQHOLD  “FREQHOLD“  }
{ STA_PPSSIGNAL “PPSSIGNAL“ }
{ STA_PPSJITTER “PPSJITTER“ }
{ STA_PPSWANDER “PPSWANDER“ }
{ STA_PPSERROR  “PPSERROR“  }
{ STA_CLOCKERR  “CLOCKERR“  }
{ 0 NULL } };

static const char *ret_code_descript[] = {
“clock synchronized“
“insert leap second“
“delete leap second“
“leap second in progress“
“leap second has occurred“
“clock not synchronized“ };

static void usage(char *prog)
{
fprintf(stderr
“Usage: %s [ -q ] [ -o offset ] [ -f frequency ] [ -p timeconstant ] [ -t tick ]\n“
prog);
}

int main(int argc char ** argv)
{
struct timex txc;
int quiet=0;
int c i ret sep;
txc.modes=0;
for (;;) {
c = getopt( argc argv “qo:f:p:t:“);
if (c == EOF) break;
switch (c) {
case ‘q‘:
quiet=1;
break;
case ‘o‘:
txc.offset = atoi(optarg);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1621  2008-01-01 01:13  ntpclient-2015\adjtimex.1

     文件       4452  2016-01-01 12:47  ntpclient-2015\adjtimex.c

     文件       2354  2008-01-01 01:21  ntpclient-2015\envelope

     文件       9414  2015-12-30 03:37  ntpclient-2015\HOWTO

     文件        320  2003-07-06 03:51  ntpclient-2015\log2date.pl

     文件       1357  2018-03-08 17:10  ntpclient-2015\Makefile

     文件       3041  2008-01-01 01:11  ntpclient-2015\ntpclient.1

     文件      19817  2016-01-01 12:46  ntpclient-2015\ntpclient.c

     文件        353  2010-12-28 14:13  ntpclient-2015\ntpclient.h

     文件      11267  2015-12-30 05:49  ntpclient-2015\phaselock.c

     文件        666  2003-07-14 11:52  ntpclient-2015\rate.awk

     文件       4745  2015-08-27 21:59  ntpclient-2015\rate2.awk

     文件      10431  2016-01-01 12:51  ntpclient-2015\README

     文件      12762  2006-10-28 09:22  ntpclient-2015\test.dat

     文件        844  2008-01-01 01:10  ntpclient-2015\todo

     文件         58  2018-03-08 17:11  ntpclient-2015\usage method.txt

     目录          0  2018-03-08 17:11  ntpclient-2015

----------- ---------  ---------- -----  ----

                83502                    17


评论

共有 条评论